replaceWith不会替换top id的属性

时间:2010-08-28 16:06:21

标签: jquery

<div id='one' class='foo'>Hello</div>

$('#one').replaceWith("<div id='one'>World</div>")

以上代码正在制作

<div id='one' class='foo'>World</div>

然而,所需的输出是

<div id='one'>World</div>

请注意,replaceWith正在更改div内的内容,而不是div本身的属性。

1 个答案:

答案 0 :(得分:1)

与其他评论过的人一样,我无法重现这个问题。

$(document).ready(function(){

  $('div').live('click', function(){

    $('#one').replaceWith('<div id="one">World</div>');

  });

});​

导致

<div id='one' class='foo'>Hello</div> 

这要改为:

<div id='one'>World</div>

但是,您可以使用此选项:

$(document).ready(function(){

  $('div').live('click', function(){

    $('#one').removeAttr('class').html('World');

  });

});​

请注意,点击这些内容,您可以移除点击,然后根据需要进行操作。

见这里: http://jsbin.com/adesi3/edit