首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换jQuery中HTML字符串中的属性

替换jQuery中HTML字符串中的属性
EN

Stack Overflow用户
提问于 2013-03-07 16:43:42
回答 2查看 3.8K关注 0票数 1

我有一个包含HTML的字符串。我想用data-class属性(如果有的话)中的值替换class属性。这应该只应用于HTML的特定标记/部分。

我已经写了一些,但希望能有一个指针来完成它:

代码语言:javascript
复制
html = "<div class='hello' data-class='class-name'>Content</div><div class='123'>Content</div><div data-class="class-111"></div>";

var html_out = $('<div/>').html(html).contents();

var final_html = $(html_out).find('[data-class]').attr('class', 'new-value');

所以上面的代码应该会返回:

代码语言:javascript
复制
<div class='class-name' data-class='class-name'>Content</div><div class='123'>Content</div><div class="class-111" data-class="class-111"></div>

至于它是保留还是删除数据类部分,这并不重要。

关键是HTML字符串将包含对data-class属性的使用,我需要用这个值覆盖class属性。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 16:54:10

试一试

代码语言:javascript
复制
$('div[data-class]').attr('class', function() { return $(this).data('class') });
票数 4
EN

Stack Overflow用户

发布于 2013-03-07 16:48:22

好的,我想这就是你要找的-

代码语言:javascript
复制
html_out.find('[data-class]').each(function() {
    this.attr('class', this.attr('data-class');
})

看看jquery docs on attribute selectorsattr function

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15266597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档