javascript - 在单独的 UL 中搜索匹配的 LI 元素

标签 javascript html css html-lists

我正在尝试找出当用户单击按钮时如何找到具有匹配文本的“li”元素,这些元素位于两个不同的“ul”中,以便可以将它们全部删除。该按钮附加到每个“li”,我可以成功地从中获取文本并删除原始元素。 “li”是可排序的,用户可以添加更多,因此无法通过“li”的位置来完成。

现在我有这个(我删除了一些东西以使其更容易理解):

Javascript:

$("li")
    .prepend("<span class='ui-icon'></span>")    

$(".ui-icon")
    .click(function() {
        var itemText = $(this).closest("li").text();

        $(this).closest("li").fadeOut(200, function() {
            $(this).remove();
        }); 

        $("li:contains(itemText)").remove(); //the part I'm having trouble with 
    })

HTML:

<ul id="items">
    <li>
        <h3 id="title">Title1</h3>
        <p id="body">Body1</p>
    </li>
    <li>
        <h3 id="title">Title2</h3>
        <p id="body">Body2</p>
    </li>
    <li>
        <h3 id="title">Title3</h3>
        <p id="body">Body3</p>
    </li>
    <li>
        <h3 id="title">Title4</h3>
        <p id="body">Body4</p>
    </li>
</ul>
<ul id="favs">
    <li>
        <h3 id="title">Title2</h3>
        <p id="body">Body2</p>
    </li>
    <li>
        <h3 id="title">Title3</h3>
        <p id="body">Body3</p>
    </li>
    <li>
        <h3 id="title">Title1</h3>
        <p id="body">Body1</p>
    </li>
    <li>
        <h3 id="title">Title4</h3>
        <p id="body">Body4</p>
    </li>
</ul>

最佳答案

$(".ui-icon")
    .click(function() {
        var item = item.closest("li");
        var itemText = item.text();
        var parentUL = item.closest("ul");

        item.fadeOut(200, function() {
            item.remove();
        }); 

        parentUL.siblings('ul').find("li:contains(" + itemText + ")").remove(); //the part I'm having trouble with 
    })

我想这就是您要找的。这可以确保除您正在淡出的那个之外的任何一个都被删除。

顺便说一句,id 应该是唯一的。

关于javascript - 在单独的 UL 中搜索匹配的 LI 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194472/

相关文章:

javascript - 如何以函数作为参数调用函数?

android - 引擎盖下的混合应用程序开发(PhoneGap、Cordova、Ionic)

javascript - 如果 "p"标签为空,如何隐藏 div 映射

javascript - JS 不会更新 dom 中的占位符

javascript - 如何只在DIV的边界区域触发鼠标移动

jquery - Div 框阴影仅在 2 侧?

css - gulp-sourcemap 文件扩展问题

javascript - 为什么无法从 'a' 访问属性 'fn'

javascript - 安装和实现 react native 设备信息时出错

javascript - 如果插入符位于最后位置,插入符功能将无法正常工作