javascript - 如果最近的 href 有某个类,则删除 Jquery 中的元素
问题描述
我有一个菜单,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”类时,我只需要删除 span 中的第一个单词。什么时候是“bbb”——不是,而是删除 img(因为在这种情况下,我没有要显示的真实 .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();
}
});
推荐阅读
- php - Symfony,使用 ajax 将 html 表单提交给控制器
- php - PHP:fwrite大字符串
- unit-testing - 开玩笑地编写单元测试时会出现特定错误
- android - 是否可以将自定义类放入 Bundle 中?
- git - 为什么重新定位到已重新定位的分支会引入合并冲突并且似乎会删除我当前的更改?
- node.js - 可以在没有数据库连接的情况下使用 sequelize
- reactjs - ESLint - 如何禁用反应/禁止外国道具类型?
- graphql - 在 GraphQL 多对一查询的结果集中获取 JSON 值而不是 JSON 对象
- java - 如何强制用户为 int 输入固定数量的数字?
- html - 在 Bootstrap 中,如何增加列表项之间的间距?