如何使用Selector访问DOM元素?

时间:2011-05-12 02:52:10

标签: javascript jquery dom

我正在尝试使用jQuery选择器来深入访问DOM。

HTML

<table>
...more stuff here
  <tr>
    <td class="foo bar clickable">
      <div>
         <div class="number">111</div> //I want to get the value "111"
         <div class="content"></div>
      </div>
    </td>
    <td class="foo2 bar2 clickable">
      <div>
         <div class="number">222</div>
         <div class="content"></div>
      </div> 
    </td>
  </tr>
...more stuff here
</table>

因此,用户点击td,然后我想弹出警告,显示“111”

为了访问&lt; div class="number">111</div>部分,我编写了jQuery选择器:

j$(".clickable").click(function() {

   //trying to output 111               
   alert( j$("this div div.number").text());
}

返回空白警告框。

alert( j$("this div.number").text());

alert( j$("this div .number").text());

尝试了几个我能想到的组合,所有人都给了我空白警报。我做错了什么?

3 个答案:

答案 0 :(得分:3)

您在任何地方都没有<this>元素,因此this div.number无效。如果您想从this开始并找到包含的div.number,那么您希望使用.find,如下所示:

j$(this).find('div.number').text()

或者,您可以使用context argument to jQuery

j$('div.number', this).text()

答案 1 :(得分:2)

请改为尝试:

$(".clickable").click(function() {

   //trying to output 111               
   alert( $(this).find("div div.number").text());
});

我不相信引号中的“this”有任何意义。

答案 2 :(得分:0)

尝试此代码并使用fiddler练习: http://jsfiddle.net/

您可以粘贴HTML和JS代码,并模拟您想要的任何环境/框架。