javascript - 通过 jQuery 用它的索引替换 html 元素

标签 javascript jquery replace

我正在尝试替换通过它的索引获取的 HTML 元素,我正在尝试这样做,但它不起作用:

<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 元素

最佳答案

$('.results div').eq(index).replaceWith(html);

Fiddle

你应该使用 .eq()通过其索引过滤 jQuery 对象内的匹配元素集。此外,$('.results') 只有 1 个元素(本身)。我假设您正在寻找其中的 div


此外,如果您的 div 中有 div,请使用更具体的 child selector :

$('.results > div').eq(index).replaceWith(html);

这与使用 .children method 具有相同的效果使用选择器过滤器:

$('.results').children(':eq(' + index + ')').replaceWith(html);

或者更简单地说,将所有内容连接到一个选择器中:

$('.results > div:eq(' + index + ')').replaceWith(html);

Fiddle

还有许多其他方法可以使用 jQuery 完成此操作,但这些应该绰绰有余。 =]

关于javascript - 通过 jQuery 用它的索引替换 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13223247/

相关文章:

Javascript 变量引用

javascript - 禁止某些类准确的 div 进行移动

javascript - fancybox 内联参数

jQuery .replaceWith() 替代

Javascript 正则表达式仅使用 <li> 标记内的文本替换 <ul> 或 <ol>

javascript - 如何将 meteor 简单模式与 meteor 页面一起使用

javascript - 圆滑的 : how to edit margin between slides?

javascript - `window.open` 函数不打开弹出窗口,但会消失现有的 html 和其他代码

javascript - TinyMCE 粘贴按钮仅适用于 Internet Explorer

android - 在 Android 2.2 中使用 fragment