2011-02-08 56 views
-6

第一案

<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(this)?

更多的問題的細節:

第一種情況,因爲我用錨的onclick,我可以得到操作源,然後它的父。

第二種情況,另一方面,有div塊和腳本塊之後。它們在頁面中呈現,結果是沒有點擊事件。 我需要一些東西:

$(本).closest( 'DIV')HTML()

但它不工作

+2

你能不能改一下你的問題,使之更加清楚你實際上是想幹什麼?這對我來說沒有什麼意義...... – 2011-02-08 10:41:41

回答

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()); 
    }); 
}); 

使用的.代替#將給予該類的所有元素。

2

嘗試:

$("#divId").click(function() {doIt(this);}); 

將這個在documentReady

1
$('#divId').click(function() { alert($(this).html()); }); 
1

簡單地把它放在$(document).ready();它會在您的文檔被加載時執行。事情是這樣的:

$(document).ready(function(){ 
    alert($("#divId").html()); 
}); 

編輯(見註釋):

$(document).ready(function(){ 
    $('.yourdivclass').each(function() { 
     alert($(this).html()); 
    }); 
});