如果内容等于jquery中设置的变量,我试图删除jquery中的元素。在这个例子中,我试图删除.sub3,因为内容等于变量集。
<div class="sub1">
<a href="/large.jpg" class="group1 cboxElement">
<img border="0" alt="" src="/thumb.jpg">
</a>
</div>
<div class="sub2">
<a href="/029-large.jpg" class="group1 cboxElement">
<img border="0" alt="" src="/029-thumb.jpg">
</a>
</div>
<div class="sub3">
<a href="" class="group1 cboxElement"></a>
</div>
我想出的Jquery只是删除整个元素而不管
var nopic = <a class="group1 cboxElement" href=""></a>;
if($.trim($(".sub1").text()) == nopic) {
$(".sub1").remove();
}
if($.trim($(".sub2").text()) == nopic) {
$(".sub2").remove();
}
if($.trim($(".sub3").text()) == nopic) {
$(".sub3").remove();
}
感谢您的任何指示!
答案 0 :(得分:2)
一行,适用于所有空链接的简单案例:
$('div[class^="sub"] a.group1.cboxElement[href=""]').parent('div').remove()
答案 1 :(得分:2)
如果您的目的是删除不包含图像的内部div,则以下内容就足够了:
$('div[class^="sub"]').filter(':not(:has(img))').remove();
答案 2 :(得分:0)
你应该使用html()
var nopic = '<a class="group1 cboxElement" href=""></a>';
if($.trim($(".sub3").html()) == nopic) {
$(".sub3").remove();
}
答案 3 :(得分:0)
.text()
返回节点的文本内容,而不是HTML。您想要.html()
。
e.g。
你好$('#blah').text() -> Hello
$('#blah').html() -> <a href="somewhere">Hello</a>
答案 4 :(得分:0)
我可以看到三个问题:
nopic
变量的语法错误。您需要围绕分配给它的值的引号。.subX
元素中没有任何文字。他们有HTML。因此,您应该使用.html()
方法而不是.text()
。<a>
中的.sub3
标记(我假设是你用来测试的东西)。这是因为href
和class
属性相反。这是有效的JS,以及a live example:
var nopic = '<a href="" class="group1 cboxElement"></a>';
if($.trim($(".sub1").html()) == nopic) {
$(".sub1").remove();
}
if($.trim($(".sub2").html()) == nopic) {
$(".sub2").remove();
}
if($.trim($(".sub3").html()) == nopic) {
$(".sub3").remove();
}
答案 5 :(得分:0)
我认为你可能会倒退。如果它包含该链接标记,您要尝试删除div
。找到你正在寻找的a
并删除它的父母可能会更容易。
$('a.group1.cboxElement').parents('div[class^="sub"]').remove();