如何find具有特定ID的div是否存在于jQuery中?

我有一个函数,在单击时将一个<div>附加到一个元素上。 该函数获取单击元素的文本并将其分配给一个名为name的variables。 那个variables被用作附加元素的<div> id

我需要看看是否有一个name已经存在的<div> id之前追加元素,但我不知道如何find这个。

这是我的代码:

 $("li.friend").live('click', function() { name = $(this).text(); // if-statement checking for existence of <div> should go here // If <div> does not exist, then append element $("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>"); // Else alert('this record already exists'); }); 

这看起来很简单,但我得到的错误“ search类名称时意外的文件结束” 。 我不知道这意味着什么。

 if (document.getElementById(name)) { $("div#" + name).css({bottom: '30px'}); } else { $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } 

更重要的是,我希望能够删除这个元素,如果我closures它应该然后从文档中删除div id [name] ,但.remove()不这样做。

这是这个代码:

 $(".mini-close").live('click', function(){ $(this).parent().remove(); }); 

我添加了.mini-close作为.labels一个子.labels附加到append函数,所以如果需要的.labels ,有一种方法可以closures附加的<div> 。 点击.mini-close并尝试再次从li.friends点击相同的名称,它仍然会finddiv id [name]并返回我的if语句的第一部分。

您可以在select器之后使用.length来查看它是否匹配任何元素,如下所示:

 if($("#" + name).length == 0) { //it doesn't exist } 

完整版:

 $("li.friend").live('click', function(){ name = $(this).text(); if($("#" + name).length == 0) { $("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>"); } else { alert('this record already exists'); } }); 

或者,这部分的非jQuery版本(因为它是一个ID):

 $("li.friend").live('click', function(){ name = $(this).text(); if(document.getElementById(name) == null) { $("div#chatbar").append("<div class='labels'><div id='" + name + "' style='display:none;'></div>" + name + "</div>"); } else { alert('this record already exists'); } }); 

尼克的答案指甲。 您也可以直接使用getElementById的返回值作为您的条件,而不是将其与null进行比较(无论哪种方式都行得通,但我个人觉得这种风格更具可读性):

 if (document.getElementById(name)) { alert('this record already exists'); } else { // do stuff } 

试着检查select器的长度,如果它返回你的东西那么元素必须存在,否则不。

 if( $('#selector').length ) // use this if you are using id to check { // it exists } if( $('.selector').length ) // use this if you are using class to check { // it exists } 

使用第一个条件为id和第二个为类。

 if($("#id").length) /*exists*/ if(!$("#id").length) /*doesn't exist*/ 

你可以通过使用jquery来检查,就像这样:

 if($('#divId').length!==0){ Your Code Here } 
 if ( $( "#myDiv" ).length ) { //id id ( "#myDiv" ) is exist this will perform $( "#myDiv" ).show(); } 

另一种速记方式:

  $( "#myDiv" ).length && $( "#myDiv" ).show(); 

你可以用不同的方式处理,

目标是检查div是否存在然后执行代码。 简单。

条件:

 $('#myDiv').length 

注意:

 #myDiv -> < div id='myDiv' > <br> .myDiv -> < div class='myDiv' > 

这将在每次执行时返回一个数字,所以如果没有div,它会给出一个Zero [0],因为我们没有0可以在二进制中表示为false,所以你可以在if语句中使用它。 你可以使用它作为一个没有数字的比较。 而下面给出了三个陈述

 // Statement 0 // jQuery/Ajax has replace [ document.getElementById with $ sign ] and etc // if you don't want to use jQuery/ajax if (document.getElementById(name)) { $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } // Statement 1 if ($('#'+ name).length){ // if 0 then false ; if not 0 then true $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } // Statement 2 if(!$('#'+ name).length){ // ! Means Not. So if it 0 not then [0 not is 1] $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } // Statement 3 if ($('#'+ name).length > 0 ) { $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } // Statement 4 if ($('#'+ name).length !== 0 ) { // length not equal to 0 which mean exist. $("div#page-content div#chatbar").append("<div class='labels'>" + name + "</div><div id='" + name + "'></div>"); } 

这里是我使用的jQuery函数,

function isExists(var elemId){ return jQuery('#'+elemId).length > 0; }

这将返回一个布尔值。 如果元素存在,则返回true。 如果要按类名select元素,只需将#replace为.

把你想检查的ID是jQuery的方法。

 var idcheck = $("selector").is("#id"); if(idcheck){ // if the selector contains particular id // your code if particular Id is there } else{ // your code if particular Id is NOT there } 

最简单的方法是..

 if(window["myId"]){ // .. } 

这也是HTML5规范的一部分: https : //www.w3.org/TR/html5/single-page.html#accessing-other-browsing-contexts#named-access-on-the-window-object

 window[name] Returns the indicated element or collection of elements.