我想检查属性 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-text
和 upload-f
的元素附加到每个无效的对话中,因为 ID 在文档中应该是唯一的
关于jquery - 如何使用 jQuery 检查存在的值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306745/