[英]Delete element in Jquery if closest href has some class
我有一个菜单,LI 有时有一个 img,有时没有。
<ul id="manufact">
<li>
<a href="" class="aaa">
<img>
<span>First name</span>
</a>
</li>
<li>
<a href="" class="bbb">
<img>
<span>Second name</span>
</a>
</li>
</ul>
当href中有“aaa”class时,我只需要删除span中的第一个单词。 什么时候是“bbb”——不是,而是删除 img(因为在这种情况下我没有要显示的 real.jpg 文件,并且在 Safari 中有一个空白的丑陋的“?”)。
所以我像这样尝试
$('#manufact li > a span').each(function(){
var element = $(this);
if($(this).closest("a").is( ".aaa")){
element.text(element.text().split(' ').splice(1).join(' '));
}
// It works
else {
Here I failed to put some JS to delete top Img.
}
});
我想要的结果是(与最近的、以前的、父母等一起玩但失败了)
<ul id="manufact">
<li>
<a href="" class="aaa">
<img>
<span>name</span>
</a>
</li>
<li>
<a href="" class="bbb">
<span>Second name</span>
</a>
</li>
</ul>
您可以尝试如下:
$('#manufact li > a span').each(function() {
var element = $(this);
if ($(this).closest("a").is(".aaa")) {
element.text(element.text().split(' ').splice(1).join(' '));
}
else if ($(this).closest("a").is(".bbb")) {
$(this).prev("img").remove();
}
});
你可以使用类似的东西:
$('#manufact li a.aaa span').each(function(){
var element = $(this);
element.text(element.text().split(' ').splice(1).join(' '));
});
$('#manufact li a.bbb img').each(function(){
$(this).remove();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.