[英]Replace an html element with it's index via jQuery
我正在尝试替换我通过它的索引获取的HTML element
,我正在尝试这个但它不起作用:
<div class="results">
<div id="61">Result 1 content</div>
<div id="8762">Result 2 content</div>
<div id="234">Result 3 content</div>
</div>
<script>
var index = 0;
var html = '<div id="243">Result 1 content</div>';
var element = $('.results').get(index);
element.replaceWith(html);
</script>
如何通过它的index
来替换整个HTML element
?
$('.results div').eq(index).replaceWith(html);
您应该使用.eq()
通过索引过滤jQuery对象内的匹配元素集。 另外$('.results')
只有1个元素(本身)。 我假设你正在寻找里面的div
。
此外,如果您的div
内部有div
,请使用更具体的子选择器 :
$('.results > div').eq(index).replaceWith(html);
这与使用带有选择器过滤器的.children
方法具有相同的效果:
$('.results').children(':eq(' + index + ')').replaceWith(html);
或者更简单地说,在一个选择器中将它连接起来:
$('.results > div:eq(' + index + ')').replaceWith(html);
还有很多其他方法可以通过jQuery完成这项工作,但这些方法应该足够了。 =]
.get
检索索引处的DOM元素。 你要找的是.eq
var index = 0
$($('.results div')[index]).replaceWith('<div id="243">Result 1 content</div>')
var element = $('.results').find('div');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.