只需使用 HTML5data-*
属性:
<div class="card" data-toggle="someinformation">
<div class="off"></div>
<div class="on" data-toggle="getThisInfo"></div>
</div>
然后使用 jQuery 的.data()
函数访问它,如下所示:
var $card = $(this),
this_card = $card.children(".on").data("toggle"); // "getThisInfo"
更新:
根据发布的额外代码,这应该非常适合您:
var $on_cards = $(".card > .on:visible");
if ($on_cards.length == 2) {
var $card = $('.card:first'), // was $(this), replaced just for this demo
this_card = $card.children(".on").data("toggle"),
$matched_cards = $on_cards.filter('[data-toggle="' + this_card + '"]'),
event_name = "no_match";
if ($matched_cards.length === 2) {
event_name = "found_match";
}
}
这使用 jQuery 的Attribute Equals Selector来查找.on
具有相同data-toggle
值的元素。
重要提示:如果您需要更改.on
' 的值,请不要使用 jQuery 的.data()
函数来执行此操作,请使用:
$(selector).attr('data-toggle','your-new-value');
这是因为更新 HTML 中的属性(.attr()
选择器检查),同时更新内部 jQuery 对象而不影响实际元素。.prop()
[data-toggle=""]
.data()
它在这里工作: http: //jsfiddle.net/c4fQ3/1/(尝试更改.on
元素的data-toggle
值)