使用Jquery选择特定ID

时间:2016-01-29 12:59:25

标签: jquery selector

我有一个游戏板,分为不同的部分。 game1,game2 ...... 我正在尝试使用jquery将类添加到具有ID的特定div。所以在我的PHP下面:

<div id="game1" class="playarea">
    <div id="K12" class="playnum" data-game="game1">12</div>
    <div id="D61" class="playnum" data-game="game1">61</div>
    <div id="N29" class="playnum" data-game="game1">29</div>
    <div id="P06" class="playnum" data-game="game1">06</div>
    <div id="X54" class="playnum" data-game="game1">54</div>
</div>

<div id="game2" class="playarea">
    <div id="K12" class="playnum" data-game="game1">12</div>
    <div id="D61" class="playnum" data-game="game1">61</div>
    <div id="N29" class="playnum" data-game="game1">29</div>
    <div id="P06" class="playnum" data-game="game1">06</div>
    <div id="X54" class="playnum" data-game="game1">54</div>
</div>

我想.addClass到ID为#34; D61&#34;只有来自DIV的ID&#34; game1&#34;。此功能将从一个按钮执行,因此没有类似&#34;此&#34;的上下文。我一直在尝试.children()甚至.find()或.attr(),但没有运气。

现在我正在使用

 $('[id="D61"]').addClass("selected");

但问题是它会将.addClass()传递给game1和game2中的两个DIV。我怎样才能更好地缩小范围呢?

4 个答案:

答案 0 :(得分:2)

你可以这样做。

$('#game1 #D61').addClass('selected').

您正在复制idid应该是唯一的。您可以使用类D61代替id,如下所示。

<div class="D61 playnum" data-game="game1">61</div>

然后js会是这样的。

$('#game1 .D61').addClass('selected').

答案 1 :(得分:0)

可以使用以下代码完成:

$('#game1 > #D61').addClass("selected");

id="game"的div是父项,其子项为id="D61",因此它只会定位id =“game1”的div。

答案 2 :(得分:0)

var $reqElement = $("#game1").find("#D61");
reqElement.addClass('selected');

答案 3 :(得分:0)

我会评论一些设计问题第一:

  1. 与自定义属性不同,id是一个标准属性,应该在整个页面中是唯一的(请参阅http://www.w3schools.com/tags/att_global_id.asp)。
  2. 搜索您可以搜索#D61的ID。见https://api.jquery.com/id-selector/
  3. 现在回答:点击此链接:https://api.jquery.com/find/

    所以这会给:     $( '#的Game1')找到( '#KD61');