我正在尝试删除处于非活动状态的li,但无法使其工作:
var html = $("#myjqgriddiv").remove("ul li:not(.ui-state-active)").html();
我有html,我想删除不包含类.ui-state-active
在使用.ui-state-active的li之后的代码仍然存在。
需要帮助。
更新:
我打算使用window.open("","Print")/document.write
@tvanfosson答案正在运作,但还有一件小事,第一次修改后留下的单一李我想要编辑,我想从其a
孩子中删除属性“href”
var html = $('#myjqgriddiv') // select div
.find('ul li:not(.ui-state-active)') // select elements to remove from div
.remove() // remove the matched elements
.end() // revert back to the originally selected elements
.html(); // and get the HTML
html = $(html).find("ul li.ui-state-active a)").removeAttr("href").html(); // not working?!
答案 0 :(得分:3)
删除的参数充当过滤器,而不是选择器。由于您只选择了一个标识为mygqgriddiv
的元素,因此过滤器不会删除任何内容。尝试。
var html = $('#myjqgriddiv') // select div
.find('ul li:not(.ui-state-active)') // select elements to remove from div
.remove() // remove the matched elements
.end() // revert back to the originally selected elements
.find("ul li.ui-state-active a)") // now get the active ones
.removeAttr("href") // remove the href attribute
.end() // back to the original selection
.html(); // and get the HTML
答案 1 :(得分:0)
jQuery的remove只会删除所选列表中的元素。将两个选择器放入$
函数并删除结果。
var html = $("#myjqgriddiv ul li:not(.ui-state-active)").remove().html();