这应该用相应的数据更改属性替换所有类。
所以,如果我有:
<div class="hello" data-change="new-class">
......我希望它能够回归
<div class="new-class" data-change="new-class">
我的代码更改其中一个(按钮上的那个)但不更改另一个。
我做错了什么?
感谢您的帮助。
-
显然我也需要发布JS Fiddle代码:
var str = '<div class="original-class" data-change="new-class">Hello</div><div class="class-123"><input type="button" class="start-class" data-change="any-new-class" value="Click Me"></div>';
var html = $('<div/>').html(str).contents();
$('[data-change]', html).attr('class', function() { return $(this).data('change') });
alert( $(html).parent().html() );
答案 0 :(得分:2)
var html = $('<div/>').html(str).find('[data-change]').attr('class', function () {
return $(this).data('change');
}).end().html();
alert(html);
答案 1 :(得分:1)
试试这个:
$('[data-change]', html).attr('class', function() { return $(this).attr('data-change') });
编辑:
var html = $(str);
html.filter('[data-change]').attr('class', function() { return $(this).data('change') });
我认为它有效:http://jsfiddle.net/r4KL9/2/