我构建了一个方法,允许我返回用户点击的元素,如下所示:
$('#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
的内容,有人可以解释如何执行此操作吗?感谢。
答案 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
,因此访问name
和description
属性非常简单:
$('#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());
}