How to find if div with specific id exists in jQuery?
我有一个函数在点击时将
在附加元素之前我需要查看
这是我的代码:
1 2 3 4 5 6 7 8 9 10 | $("li.friend").live('click', function() { name = $(this).text(); // if-statement checking for existence of should go here // If does not exist, then append element $("div#chatbar").append("" + name +""); // Else alert('this record already exists'); }); |
这看起来非常简单,但我收到错误"搜索类名时文件意外结束"。我不知道这意味着什么。
1 2 3 4 5 | if (document.getElementById(name)) { $("div#" + name).css({bottom: '30px'}); } else { $("div#page-content div#chatbar").append("" + name +""); } |
更重要的是,我希望能够删除此元素,如果我将其关闭,然后从文档中删除
这是代码:
1 2 3 | $(".mini-close").live('click', function(){ $(this).parent().remove(); }); |
我将
您可以在选择器后面使用
1 2 3 | if($("#" + name).length == 0) { //it doesn't exist } |
完整版:
1 2 3 4 5 6 7 8 | $("li.friend").live('click', function(){ name = $(this).text(); if($("#" + name).length == 0) { $("div#chatbar").append("" + name +""); } else { alert('this record already exists'); } }); |
或者,这部分的非jQuery版本(因为它是一个ID):
1 2 3 4 5 6 7 8 | $("li.friend").live('click', function(){ name = $(this).text(); if(document.getElementById(name) == null) { $("div#chatbar").append("" + name +""); } else { alert('this record already exists'); } }); |
尼克的回答指出了它。您也可以直接使用getElementById的返回值作为条件,而不是将其与null进行比较(无论哪种方式都有效,但我个人认为这种风格更具可读性):
1 2 3 4 5 | if (document.getElementById(name)) { alert('this record already exists'); } else { // do stuff } |
尝试检查选择器的长度,如果它返回一些东西,那么元素必须存在,否则不存在。
1 2 3 4 5 6 7 8 9 10 | 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条件和class的第二个条件。
1 2 3 | if($("#id").length) /*exists*/ if(!$("#id").length) /*doesn't exist*/ |
1 2 3 4 5 | if ( $("#myDiv" ).length ) { //id id ("#myDiv" ) is exist this will perform $("#myDiv" ).show(); } |
另一种简写方式:
1 | $("#myDiv" ).length && $("#myDiv" ).show(); |
您可以使用jquery进行检查,如下所示:
1 2 3 | if($('#divId').length!==0){ Your Code Here } |
最简单的方法是......
1 2 3 | if(window["myId"]){ // .. } |
这也是HTML5规范的一部分:https://www.w3.org/TR/html5/single-page.html#accessing-other-browsing-contexts#named-access-on-the-window-object
1 2 | window[name] Returns the indicated element or collection of elements. |
这是我使用的jQuery函数:
1 2 3 | function isExists(var elemId){ return jQuery('#'+elemId).length > 0; } |
这将返回一个布尔值。如果元素存在,则返回true。
如果要按类名选择元素,只需将
你可以用不同的方式处理它,
目的是检查div是否存在然后执行代码。简单。
条件:
1 | $('#myDiv').length |
注意:
1 2 | #myDiv -> < div id='myDiv' > .myDiv -> < div class='myDiv' > |
这将在每次执行时返回一个数字,所以如果没有div它将给出一个Zero [0],因为我们没有0可以在二进制中表示为false,所以你可以在if语句中使用它。你可以用它作为无数的比较。而下面有三个陈述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // 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("" + name +""); } // Statement 1 if ($('#'+ name).length){ // if 0 then false ; if not 0 then true $("div#page-content div#chatbar").append("" + name +""); } // Statement 2 if(!$('#'+ name).length){ // ! Means Not. So if it 0 not then [0 not is 1] $("div#page-content div#chatbar").append("" + name +""); } // Statement 3 if ($('#'+ name).length > 0 ) { $("div#page-content div#chatbar").append("" + name +""); } // Statement 4 if ($('#'+ name).length !== 0 ) { // length not equal to 0 which mean exist. $("div#page-content div#chatbar").append("" + name +""); } |
把你想要检查的id放在jquery中是方法。
1 2 3 4 5 6 7 8 9 10 | 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 } |