我想在一个ul元素中使用javascript追加一个li元素,这是我到目前为止的代码..
var parentGuest = document.getElementById("one");
var childGuest = document.createElement("li");
childGuest.id = "two";
Run Code Online (Sandbox Code Playgroud)
我熟悉appendChild,
parentGuest.appendChild(childGuest);
Run Code Online (Sandbox Code Playgroud)
但是,这会将新元素添加到另一个元素中,而不是在其后.如何在现有元素之后附加新元素?谢谢.
<ul>
<li id="one"><!-- where the new li is being put --></li>
<!-- where I want the new li -->
</ul>
Run Code Online (Sandbox Code Playgroud) 我需要在一个接一个地附加一个元素onclick(textarea).
我怎么做?
我希望文本只有一定数量的字符/长度,在那个长度之后,我想要一个链接来显示文本的全长.
链接将是(more...).一旦用户点击链接(more..),文本的其余部分将向下滑动.
我怎么做到这一点?
这是一个例子.
blah blah blah blah blah (more...)
Run Code Online (Sandbox Code Playgroud)
当用户点击时(more..),它将显示整个文本.
注意:我在表格行/表格单元格中获取有关数据,而不仅仅是任何文本.
交换子节点顺序的最简单方法是什么?
例如,我希望childNode [3]为childNode [4],反之亦然.
如何使用纯Javascript在HTML元素后添加文本?有appendChild但是这会在元素中添加它.我宁愿把它添加为像这样的元素之后的兄弟:
<img id="myimg" src="..." />
<script>
var myimg = document.getElementById('myimg');
myimg.appendAFTER('This is my caption.'); //pseudo-code and doesn't really work
</script>
Run Code Online (Sandbox Code Playgroud)
我想最终得到这个:
<img id="myimg" src="..." />
This is my caption.
Run Code Online (Sandbox Code Playgroud)
什么是after()jQuery 的Javascript等价物?
我很想念jQuery.我正在开展一个项目,我需要再次使用优质的纯粹Javascript弄脏手.
我有这种情况:
parent
child1
child2
child3
Run Code Online (Sandbox Code Playgroud)
通过javascript,我希望能够在任何这些孩子之前或之后插入一个新节点.虽然javascript有insertBefore,但没有insertAfter.
之前插入可以正常工作以在其中任何一个之前插入一个节点:
parent.insertBefore(newNode, child3)
Run Code Online (Sandbox Code Playgroud)
但是如何在child3之后插入一个节点?我现在正在使用它:
for (i=0,i<myNodes.length,i++){
myParent.insertBefore(newNode, myNodes[i+1])
}
Run Code Online (Sandbox Code Playgroud)
那就是在我的每个节点的下一个兄弟节点之前插入我的newNode(意味着它将它放在每个节点之后).
当它到达最后一个节点时,myNodes[i+1]变为undefined我现在正在尝试访问不存在的数组索引.
我认为'错误了,但似乎工作得很好,在那种情况下,我的节点确实插在最后一个节点之后.
但那是对的吗?我现在正在几个现代浏览器中测试它,看起来没有看似不好的效果.有没有更好的办法?
我正在寻找一个包含所有jQuery函数的文档,以及它们在API本身由浏览器提供的等价物.
有时我只需要一个特定的jQuery函数(.detach(),.insertAfter(),.on(),...)我加载jQuery的只有这一点.
我想停止我的jQuery依赖,并且jQuery到非库翻译器会帮助我很多(我认为很多人).
网络上有什么类似的东西吗?
我找到了:http://youmightnotneedjquery.com/
我有以下代码:
<div id="container">
<div id="cat1"></div>
<div id="cat2"></div>
<div id="cat3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以执行 insertBefore 但没有 insertAfter...如果我想将另一只猫追加到容器中怎么办?我真的必须使用 nextSibling 吗?感觉非常奇怪的是,有一个 insertBefore ,而对于一个 insertAfter ,必须使用 hack 。有没有替代方案
function insertAfter(referenceNode, newNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
insertAfter(document.getElementById("tres"), myscript);
Run Code Online (Sandbox Code Playgroud) 我正在尝试在现有节点之前和之后插入节点.问题是,它只会插入其中一个.奇.有谁能解释为什么?
这是代码
// create your new node <p>Hi</p>
var newNode = document.createElement("p");
newNode.appendChild(document.createTextNode("Hi"));
// a existing node for reference
var refNode = document.getElementById("xyz");
// insert newNode before refNode
refNode.parentNode.insertBefore(newNode, refNode);
// insert newNode after refNode
refNode.parentNode.insertBefore(newNode, refNode.nextSibling);
Run Code Online (Sandbox Code Playgroud)
我想重新排列我的div的顺序.
这是我的结构:
<div class="span8 inner-left" style="clear:both;">
<div class="span3" style="text-align:right;"></div>
</div>
<div id="moreread" class="span4 inner-left"></div>
Run Code Online (Sandbox Code Playgroud)
这就是我想要的结果:
<div class="span8 inner-left" style="clear:both;">
<div class="span3" style="text-align:right;"></div>
<div id="moreread" class="span4 inner-left"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这不起作用:
$(this).find('#moreread').after(".span3");
Run Code Online (Sandbox Code Playgroud) javascript ×9
dom ×4
jquery ×3
html ×2
append ×1
appendchild ×1
element ×1
nodes ×1
removeclass ×1