第一个案例:
<div>
<a href="#" onclick="doIt(this)">some job</a>
<div>
我能做到:
<script>
function doIt(caller){
alert($(caller).closest('div').html());
}
</script>
第二种情况:
<div id="divId">
....
</div>
我做
<script>
alert($("#divId").html());
</script>
如何在没有onclick(这个)的情况下将第一个案例机制应用于第二个案例?
有关问题的更多详细信息:
第一种情况,因为我使用了锚onclick,我可以获得动作源,然后是它的父。
第二种情况,另一方面,有div块和脚本块之后。它们在页面中呈现,因此没有单击事件。 我需要一些东西:
$(本).closest( 'DIV')。HTML()但它不起作用
答案 0 :(得分:9)
我认为你的意思是这样的?
<script type="text/javascript">
$(document).ready(function() {
$("#MyLink").click(function() {
alert($(this).closest('div').html());
});
});
</script>
这需要您将id
添加到链接。
如果您的意思是在没有点击任何内容的情况下显示警报,您必须解释您希望它显示的确切程度,这意味着响应什么事件?
编辑:如果您有多个元素,请使用class,例如<a class="MyLink" ...>
然后有这样的代码:
$(document).ready(function() {
$(".MyLink").click(function() {
alert($(this).closest('div').html());
});
});
使用.
代替#
将为该类提供所有元素。
答案 1 :(得分:2)
尝试:
$("#divId").click(function() {doIt(this);});
将其放在documentReady
上。
答案 2 :(得分:1)
$('#divId').click(function() { alert($(this).html()); });
答案 3 :(得分:1)
只需将其放入$(document).ready();
然后在文档加载时执行。像这样:
$(document).ready(function(){
alert($("#divId").html());
});
编辑(见评论):
$(document).ready(function(){
$('.yourdivclass').each(function() {
alert($(this).html());
});
});