如何通过这个获得特定的div?

时间:2017-01-04 18:44:07

标签: javascript jquery

我构建了一个方法,允许我返回用户点击的元素,如下所示:

$('#button2').on('mouseover', function()
{
   console.log(this);
}

这个回报:

<tr id="res-7" class="entry border-bottom" rel="popover" data-original-title="" title="">
    <td style="padding-left: 10px">
        <div class="name"><strong>Test</strong></div>
        <div class="description">Foo</div>
     </td>
</tr>

基本上我的目标是获取div name和div description的内容,有人可以解释如何执行此操作吗?感谢。

4 个答案:

答案 0 :(得分:1)

你可以使用innerHTML

$(this).find('name').innerHTML; //returns "test"
$(this).find('description').innerHTML; //returns "foo"

这将在当前元素中找到该类,并返回所需的值。

答案 1 :(得分:1)

像这样:jsfiddle

$(document).on("mouseover","tr", function(){

var name = $(this).find(".name").text();
var description = $(this).find(".description").text();
 console.log("Name: "+name+"\nDecsription: "+description);

})

不要忘记每个元素的ID必须是唯一的,因此你的代码不正确,因为“#button2”必须是唯一的,所以你的函数中总是#button2。

注意text()和html()之间的区别。我使用.text()来获取没有“强”代码的文本。如果需要,请使用html()。

答案 2 :(得分:0)

由于您的元素已经有id,因此访问namedescription属性非常简单:

$('#button2').on('mouseover', function() {
   var $res7 = $('#res-7');

   // Access the two divs
   var name = $res7.find('.name').text(); // or .html()
   var description = $res7.find('.description').text(); // or .html()

   // Print them out
   console.log(name);
   console.log(description);
});

当然,这段代码应该在jQuery ready事件处理程序中。

答案 3 :(得分:-1)

我确信有一种更清洁的方式,但这应该能得到你想要的东西。

$('#button2').on('mouseover', function()
{
   console.log($(this).find(".name").html());
   console.log($(this).find(".description")).html());
}