CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – nth-child没有处理动态生成的DOM大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我在CSS中使用nth-child时遇到了问题(到目前为止在Chrome和Firefox中使用过).使用vanilla DOM操作方法(document.createElement,document.appendChild等)在客户端动态生成DOM的一部分.

我正在使用的CSS和生成的DOM如下:

CSS:

#loginForm label {
    color: #FF0000
}

#loginForm label:nth-child(1) {
    color: #8a8a8a;
}

DOM:

我已经尝试将这个HTML和CSS放到一个JSFiddle中,一切正常,所以我只能想象它与我的DOM操作有关.

我在MDN页面上注意到nth-child Opera无法处理元素的动态插入,但是没有提及其他浏览器.我是否正确地假设没有浏览器可以处理动态插入和nth-child?如果是这样,有解决方法吗?

编辑:

DOM插入代码(最后一行使用传递给包含代码的函数的目标变量).显然,它有更多的代码,但这是关键部分:

var contentHolder = document.createElement("div");
var form = document.createElement("form");
var userLabel = document.createElement("label");

form.appendChild(userLabel);
contentHolder.appendChild(form);
document.getElementById(target).appendChild(contentHolder);
最佳答案
我想你正在寻找的是:nth-​​child(2n 1)选择器.

示例:http://jsfiddle.net/usScP/

您还可以通过使用:nth-​​child(odd)或:nth-​​child(even)来简化此操作.通过使用:nth-​​child(number)选择器,您只能以NodeList顺序寻址该索引.

大佬总结

以上是大佬教程为你收集整理的javascript – nth-child没有处理动态生成的DOM全部内容,希望文章能够帮你解决javascript – nth-child没有处理动态生成的DOM所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: