jQuery mobile - 点击抓取id的元素,其中attribue data-collapsed为false

时间:2013-07-09 18:50:52

标签: jquery jquery-mobile

希望有人可以帮我解决这个问题。 我正在使用jQuery Mobile,我想在点击时获取元素的id,但前提是列表项没有折叠。以下是我所拥有的。

HTML:

<div data-role="page" id="myPage">
  <h3>Current Clients</h3>
  <div data-role="collapsible-set">

    <div data-role='collapsible' data-collapsed='true' class='userList'>
      <h3 id='1' class='unverified getID'>John Doe</h3>
      <div>
        <p>collapsed content 1</p>
      </div>
    </div> <!-- .userList -->

    <div data-role='collapsible' data-collapsed='true' class='userList'>
      <h3 id='2' class='verified getID'>Jane Doe</h3>
      <div>
        <p>collapsed content 2</p>
      </div>
    </div> <!-- .userList -->

  </div><!-- collapsible-set -->
</div><!-- #myPage -->

JS:

var thisID;
$(".getID").click(function(e) {
  if($(this).parent(".userList").attr('data-collapsed', false)){
    thisID = $(this).attr("id");
    alert(thisID);
  }  
});

以下是jsFiddle中的上述代码:http://jsfiddle.net/8xHmj/9/

它获取id,但每次单击,折叠或不折叠元素时都会发出警报。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您的if语句实际上是设置属性,将其更改为:

if ($(this).parent(".userList").attr('data-collapsed') == 'false')

您还可以使用.data功能进行检查:

if ($(this).parent(".userList").data('collapsed') == 'false')