usm*_*ali 3 html javascript jquery jquery-after
我试图将我的jQuery脚本转换为javascript.我有问题..
我有一个创建节点的脚本
var new_node = document.createElement("div");
new_node.className="tooltip";
new_node.innerHTML = html;
alert(new_node.className);
Run Code Online (Sandbox Code Playgroud)
当我这样做
jQuery(link).after(new_node);
Run Code Online (Sandbox Code Playgroud)
它工作正常.但我想以javascript方式做到这一点.我试过使用appendChild函数,但它给出了一些奇怪的结果.
这个你能帮我吗.
T.J*_*der 10
你比较jQuery的after使用appendChild,但他们做的非常不同的事情.after放元件后的参考元件,appendChild所说内它.
你可能想要insertBefore(参考节点是link's nextSibling).
所以:
var link = /* ... get the `a` element from somewhere ... */;
var new_node = document.createElement("div");
new_node.className="tooltip";
new_node.innerHTML = html;
link.parentNode.insertBefore(new_node, link.nextSibling);
Run Code Online (Sandbox Code Playgroud)
如果link是其父母的最后一件事,那很好; link.nextSibling将是null并insertBefore接受null作为参考节点(它意味着"在末尾插入").