jquery - 如何使用 jQuery 检查存在的值属性

标签 jquery html

我想检查属性 html 标记的值,如果该元素不存在,属性值附加到我的 html 中的某些元素。

例如我有很多这样的 li 标签:

<ul id="friend-list">
    <li id="1"></li>
    <li id="2"></li>
    <li id="3"></li>
    <li id="4"></li>
    <li id="5"></li>
    <li id="6"></li>
</ul>

我希望在单击任何 li 时运行此 jQuery 代码并附加一个元素:

追加元素:

var conversation ='<div class="conversation stream" id='+ conversationID +'><div class="timeline"><ul class="all-msg"><li class="me typing"><div id="chat-text" contenteditable="true"></div><div id="upload-f"></div><div id="upload-p"></div><div id="chat-arrow"></div></li></ul></div></div>';
$('body').append(conversation);

jQuery 代码:

$(document).on('click','#friend-list li',function(){
    var getID = $(this).attr('id');
    var conversationID = 'Conver-' + getID;
    console.log(conversationID);


    if(/* don't exist element with attribute and value*/){
        // append that element

        var conversation ='<div class="conversation stream" id='+ conversationID +'><div class="timeline"><ul class="all-msg"><li class="me typing"><div id="chat-text" contenteditable="true"></div><div id="upload-f"></div><div id="upload-p"></div><div id="chat-arrow"></div></li></ul></div></div>';
        $('body').append(conversation);
    }

});

所以我想首先检查是否存在我想追加它。如果此元素不存在,则追加此元素否则不追加此元素。

非常感谢你们。

最佳答案

一种解决方案是检查是否存在具有 converssationID 的元素

$(document).on('click','#friend-list li',function(){
    var getID = $(this).attr('id');
    var conversationID = 'Conver-' + getID;
    console.log(conversationID);

    if(!$('#' + conversationID).length) {   
        var conversation ='<div class="conversation stream" id='+ conversationID +'><div class="timeline"><ul class="all-msg"><li class="me typing"><div id="chat-text" contenteditable="true"></div><div id="upload-f"></div><div id="upload-p"></div><div id="chat-arrow"></div></li></ul></div></div>';
        $('body').append(conversation);
    }
});

演示:Fiddle

注意:您将 ID 为 chat-textupload-f 的元素附加到每个无效的对话中,因为 ID 在文档中应该是唯一的

关于jquery - 如何使用 jQuery 检查存在的值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306745/

相关文章:

html - XML/XSLT - XML 解析错误 : no element found

javascript - 在单击按钮之前加载内容

javascript - 收到ajax响应时通知更新

javascript - 为什么 ajax 调用的 json 数据最终作为查询字符串参数?

javascript - jCarousel、计数器,怎么样?

html - div 填充有问题吗?

javascript - 多个滑动div的时间和速度

javascript - 删除请求ajax jquery不起作用

jquery - 两个日期选择器未显示在单个 html 页面中

html - 2种不同的背景颜色?