Javascript 无法更改。html()
我有一个简单的html,请参见: 但它只为第一个选择器将[index]添加到元素的html中。 有人能解释为什么吗 UPD 答案不完全正确,但尽管如此,皮特还是让我了解了这个问题。 因此,为了使其发挥作用,有必要进行改变Javascript 无法更改。html(),javascript,jquery,Javascript,Jquery,我有一个简单的html,请参见: 但它只为第一个选择器将[index]添加到元素的html中。 有人能解释为什么吗 UPD 答案不完全正确,但尽管如此,皮特还是让我了解了这个问题。 因此,为了使其发挥作用,有必要进行改变 $(element).html(elementHTML); 到 当然,这不是效率问题,而是如何就地解决问题。毫无疑问,真正的解决办法是使用.prepend方法 $('section div:first-child') :first-child CSS伪类表示作为 其父元素的
$(element).html(elementHTML);
到
当然,这不是效率问题,而是如何就地解决问题。毫无疑问,真正的解决办法是使用.prepend方法
$('section div:first-child')
:first-child CSS伪类表示作为
其父元素的第一个子元素
如果您只想选择部分下方一级的divs,可以尝试:
$('section > div')
当您设置html时,它下面的元素不会得到更新,而是会被替换
您的代码正常工作,只是更新不再附加到DOM的元素。您的问题是第一次出现section div实例:第一个子项是顶级div div1,因此当您替换此div的html时,循环中的div 2和3不再存在于DOM中,因此它们不会得到更新 不替换html,只需在文本前加上前缀:
$('section div:first-child').each(function(index, element) {
$(element).prepend('[' + index + ']: ');
});
由于每次都替换HTML,因此元素会被动态替换。为了避免这种情况,不要替换整个HTML,只需在它前面加$.prepend即可。试试看: $function{ $'section div:first child'。每个函数索引,元素{ console.log'element.html之前:'+$element.html; var elementHTML='['+index+']:';
$element.prependelementHTML;//我认为op想要每个div的第一个子div,但问题是为什么只应用第一个索引,因为它应该应用3次。更改选择器并不能解决这个问题。我认为他们试图在div1.1和div1.2的末尾加上一个零。但是有点困惑h CSS选择器从问题中,再清楚不过了:我想浏览所有的div部分:第一个子元素
$('section div:first-child')
$('section > div')
$('section div:first-child').each(function(index, element) {
$(element).prepend('[' + index + ']: ');
});