使用jQuery检查元素是否具有ID的正确方法是什么?

时间:2015-09-09 06:17:43

标签: javascript jquery

我想我可以检查一个元素是否有has()这样的ID:

if ($button.has('#Menu-Icon')[0] !== undefined) {
   //do stuff
}

但我了解到,它会检查是否有与ID匹配的后代。所以我认为这不是正确的jQuery方法,但是当我在Google上搜索主题时,它似乎是唯一出现的东西。

哪个jQuery方法是检查给定元素是否具有某个ID的正确方法?

3 个答案:

答案 0 :(得分:5)

使用attr()函数检查ID,如下所示:



$('button').on('click', function() {
  if ($(this).attr('id') == 'TheID') {
    alert('The button you pressed has the id: "TheID"!');
  } else {
    alert('You pressed a button with another id..');
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="TheID">TheID</button>
<button id="anotherID">anotherID</button>
&#13;
&#13;
&#13;

答案 1 :(得分:4)

你可以检查像

这样的基础元素的id属性
if ($button[0].id == 'Menu-Icon') {
   //do stuff
}

或jQuery方式使用.is()

if ($button.is('#Menu-Icon')) {
   //do stuff
}

has()方法用于通过检查元素是否包含与传递的选择器匹配的元素来过滤一组元素,同时它返回一个jQuery对象,因此检查undefined将永远不会为真

答案 2 :(得分:0)

尝试以下类似的工作:

<div id=""></div> 

 $(document).ready(function(){
       if($('div').attr('id') != ''){
           alert("have id");   
       }else{
            alert("do not have id")   
       }
    });