希望有人可以帮我解决这个问题。 我正在使用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,但每次单击,折叠或不折叠元素时都会发出警报。非常感谢任何帮助。
答案 0 :(得分:0)
您的if语句实际上是设置属性,将其更改为:
if ($(this).parent(".userList").attr('data-collapsed') == 'false')
您还可以使用.data
功能进行检查:
if ($(this).parent(".userList").data('collapsed') == 'false')