如何使用jQuery检查existvalue属性
我想检查属性html标记的值,如果该元素不存在,则在我的html中附加某些元素 例如,我有许多li标记,如下所示:如何使用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>
<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
的长度将始终是非零值,因为它是一个字符串