如何使用jQuery检查existvalue属性

如何使用jQuery检查existvalue属性,jquery,html,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>

我想检查属性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);
$(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);
    }

});
var conversation='
; $('body')。追加(对话);
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);
$(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);
    }

});
$(文档)。在('click','#friend list li',函数()上{
var getID=$(this.attr('id');
var conversationID='Conver-'+getID;
console.log(会话ID);
如果(/*不存在具有属性和值的元素*/){
//附加该元素
var conversation='
; $('body')。追加(对话); } });
所以我想先检查是否存在,然后附加它。如果此元素不存在,请追加此元素,否则不要追加此元素


非常感谢各位。

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

$(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);
    }
});
$(文档)。在('click','#friend list li',函数()上{
var getID=$(this.attr('id');
var conversationID='Conver-'+getID;
console.log(会话ID);
如果(!$('#'+会话ID).length){
var conversation='
; $('body')。追加(对话); } });
演示:


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

当您使用jQuery抓取内容时,它会返回一个结果数组。如果它找不到任何东西,它不会抛出错误,它只会返回一个空数组

因此,如果jQuery对象(数组)的长度为
0
,那么此时在该页面上找不到匹配的元素:

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


    if($('#' + conversationID ).length > 0){
        // 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);
    }

});
$(文档)。在('click','#friend list li',函数()上{
var getID=$(this.attr('id');
var conversationID='Conver-'+getID;
console.log(会话ID);
if($('#'+conversationID).length>0){
//附加该元素
var conversation='
; $('body')。追加(对话); } });
要检查元素是否存在,可以使用
.length

.length will return number of elements in the jQuery object.
所以代码如下所示

if(conversationID.length)
因为不存在

if(conversationID.length == 0) 
您也可以使用
.size()
,但它已被弃用。

尝试以下方法:

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


    if($('#' + conversationID ) == false){
        // 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);
    }

});
$(文档)。在('click','#friend list li',函数()上{
var getID=$(this.attr('id');
var conversationID='Conver-'+getID;
console.log(会话ID);
if($('#'+conversationID)==false){
//附加该元素
var conversation='
; $('body')。追加(对话); } });
您可以使用下面给出的Jquery

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


    if($('#'+conversationID).length == 0){
        // 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);
    }

    });
$('#好友列表li')。在('click',function(){
var getID=$(this.attr('id');
var conversationID='Conver-'+getID;
console.log(会话ID);
if($('#'+conversationID).length==0){
//附加该元素
var conversation='
; $('body')。追加(对话); } });
在Jquery
.length
中,为
工作,检查是否存在。如果不存在,则它将返回0值,否则将返回大于0的值

请查看给定的url


你累了吗
if(conversationID.length)
for不存在
if(conversationID.length==0)
.length
呢?我的朋友,我想检查几个元素中是否存在一个元素???
conversationID
的长度将始终是非零值,因为它是一个字符串