我的目标是当用户点击具有特定数据条目的行时,他们将获得有关它的更多信息。到目前为止,我的逻辑是让用户单击该行,然后是一个传递innerHTML参数的函数,然后由另一个检索其他信息的函数处理。所以,如果有一个列表,如:
John Doe
Jane Doe
Joe Blow
我认为当用户点击他们的名字时,他们点击的内容(例如“John Doe”)的innerHTML字符串将以某种方式传递给getInformation(fullName),其中fullName将是“John Doe”。
这是我的HTML:
<div class='row' onclick=alert((this).innerHTML)>
<div class='label'>
John Doe
</div>
</div>
<div class='listSeparator'></div>
问题是我不太清楚如何实现这一点。上面的(this).innerHTML 显然不起作用,因为它只会返回"<div id ='labeled' class='label'>John Doe</div>"
。有没有办法完成我想要做的事情?或者我甚至以正确的角度接近这个?
感谢您的任何信息!
答案 0 :(得分:3)
您想从.label
DIV中读出全名吗?
这应该是你想要的(普通JS,不需要jQuery ):
<div class='row' onclick="alert((this).children[0].innerHTML)">
答案 1 :(得分:1)
不需要获取外部div的innerHTML,而是需要内部div的innerHTML。在DOM中,内部div是外部div的子节点,所以得到外部div的第一个子节点并得到它的innerHTML。
类似的东西:
onclick=alert((this).childNodes[0].innerHTML)
答案 2 :(得分:0)
我不确定你要做什么,但我相信你正在寻找以下(使用jQuery):
<div class="row" onclick="alert( $(this).text() );">test</div>
答案 3 :(得分:0)
<script>
$('.row').Click(function(){
//var user_name = $(this).find("div.label").text();
//or even better in case that the username is the only TEXT in the 'row' div:
var user_name = $(this).text();
//Do something with the user_name
//Calling another function for example: getInformation(user_name);
});
</script>
<div class='row'>
<div class='label'>
John Doe
</div>
</div>
<div class='listSeparator'></div>