使用find和jquery替换

时间:2012-10-01 07:52:35

标签: jquery dom dom-manipulation

我的HTML

<div id="sample-reminder">
    <div id="reminder_0000">
        <input type="text" name="val_0000" value="1">
    </div>
</div>

我的代码

rigaHtml = $('#sample-reminder').clone(); // i have to work on a clone of dom
rigaHtml.find('input[name^=val_]').val(99);
rigaHtml.html().replace(/0000/g, 987654321); 

最后一个命令不能替换我的占位符'0000'。 如果我在find()之前移动replace(),我就不能使用find: - (

4 个答案:

答案 0 :(得分:2)

在这种情况下,您无需使用.clone()

var rigaHtml = $('#sample-reminder').html();
$(rigaHtml.replace(/0000/g, 987654321))
  .find('input[name^=val_]')
  .val(99)
  .appendTo('#container')

'#container'是您希望将修改后的HTML添加到的节点。

答案 1 :(得分:1)

假设您要更改id的{​​{1}}属性和#reminder_0000的{​​{1}}属性,请尝试以下操作:

name

答案 2 :(得分:0)

您需要重新设置结果。

var html = rigaHtml.html().replace(/0000/g, 987654321);
rigaHtml.html(html);

答案 3 :(得分:0)

您没有对replace的返回值执行任何操作。那应该写成:

rigaHtml.html(rigaHtml.html().replace(/0000/g, 987654321)); 

即使这样,rigaHtml也不在DOM中,因为它是原始元素的克隆。所以除非你把它放回DOM中,否则你仍然看不到明显的变化。