javascript - 使用 Jquery 从 html 字符串中删除标签

标签 javascript jquery html

我正在尝试使用 Jquery 从 HTML 字符串中删除 span 类。我的 HTML 字符串如下所示:

<li class="left clearfix"><span id="userAvatar" class="chat-img pull-left"><img src="http://placehold.it/50/55C1E7/fff&amp;text=U" alt="User Avatar" class="img-circle"></span><div class="chat-body clearfix"><div class="header"><strong class="primary-font">sdfsdf3424</strong></div><p>dfgfg</p></div></li>

要从此字符串中删除 span 标记,我将执行以下操作:

var JqueryObj = $('<div/>').html(stringHTML).contents();
JqueryObj = JqueryObj.not("#userAvatar");   
stringHTML = JqueryObj.html();

我哪里出错了?另外是否可以更改该字符串内段落标记的字体颜色?

最佳答案

对于您的第一个问题,您应该能够执行以下操作:

var htmlstring = '<li class="left clearfix"><span id="userAvatar" class="chat-img pull-left"><img src="http://placehold.it/50/55C1E7/fff&amp;text=U" alt="User Avatar" class="img-circle"></span><div class="chat-body clearfix"><div class="header"><strong class="primary-font">sdfsdf3424</strong></div><p>dfgfg</p></div></li>'

    var obj = $("div").html(htmlstring);
    obj.find("#userAvatar").remove();

    var newhtmlstring = obj.html();

这会创建一个新元素,其中包含 htmlstring 的内容。然后,查找部分找到选择器的所有直接和间接子代并将其删除。最后,新的html字符串就是我们之前创建的临时对象的内容。

使用.find(),您还可以更改字体颜色:

obj.find("p").css("color", "red");

关于javascript - 使用 Jquery 从 html 字符串中删除标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687496/

相关文章:

javascript - React Router/Express - 刷新动态 URL 参数

javascript - 带有更多按钮的 jquery 移动页面

javascript - 为什么使用 jQuery on() 而不是 click()

javascript - ChartJS数据溢出图表区

javascript - 从 URL 中删除 ver 参数 - Wordpress

javascript - 错误 : The type cast expression is expected to be wrapped with parenthesis when using get function

Javascript 与 IE 和 FF 不兼容(调用函数)

jquery - 无法使用数据属性动态更改 h3 文本,jquery

javascript - 无法使用 removeChild 从 html 正文中删除元素

javascript - 我的下拉菜单中的链接不起作用