我有一个变量,它是UL的HTML,我想知道我是否可以从变量中删除一些东西而不是UL的实际HTML。??
EG
<ol class='sortable'>
<li class="menu-item">
<div>Allure</div>
<ol>
<li class="menu-item" style="display: list-item;">
<div><a href="/_webapp_4002836/Allure-Gallery">Energy-Drink</a> </div>
</li>
</ol>
</li>
<li class="menu-item disabled">
<div>Bitten SJP</div>
<ol>
<li class="menu-item" style="display: list-item;">
<div><a href="#">Bitten</a></div>
</li>
</ol>
</li>
</ol>
我的JQuery做到了这个
var sortableList = $(".sortable").html();
有没有办法做到这一点
var sortableList = $(".sortable").html("MINUS ALL CLASSES ".DISABLED");
感谢您的回答
答案 0 :(得分:1)
如果您尝试选择直接来自.sortable
的所有未禁用的菜单项:
$(".sortable > .menu-item:not(.disabled)")
答案 1 :(得分:0)
如果您可以确保单词disabled
不会出现在文本的某个位置,则应保存为在字符串的副本上使用replace("disabled","")
,即:
var sortableList = $(".sortable").html(); newSortable = sortableList.replace("disabled",""); $("body").append(newSortable)
但为什么不能用removeClass
来做呢?
答案 2 :(得分:0)
如果你想要没有li.disabled的ol标记,试试这个。
var sortableList = $(".sortable").find("li:not(.disabled)").wrap('<ol class="sortable" />').html();
答案 3 :(得分:0)
此示例将html与dom分开,因此您不会操纵dom:http://jsfiddle.net/Rfk6M/1/
var html = $(".sortable").clone().html();
html = $(html).each(function(){
$(this).removeClass();
}).html();
如果你想操纵dom,请使用:
var html = $(".sortable").html();
html = $(html).each(function(){
$(this).removeClass();
}).html();