2012-03-07 80 views
1

我的目標是,當用戶單擊具有特定數據條目的行時,將會給出關於它的更多信息。到目前爲止,我的邏輯是讓用戶單擊該行並且有一個函數傳遞innerHTML參數,然後由另一個函數處理,以檢索附加信息。所以,如果有喜歡的列表:傳遞內部div文本到函數

John Doe

Jane Doe

Joe Blow

我認爲,當用戶是點擊他們的名字,任何的innerHTML字符串他們點擊(例如「 John Doe「)會以某種方式傳遞給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

試試這個'警報((本).find( 「div.label」)。 innerHTML的)'? – 2012-03-07 16:28:41

+0

如果你使用jQuery,這是蛋糕。 '$('div.label').text()'會得到帶標籤類的div標籤的內容。 – j08691 2012-03-07 16:29:09

+1

您的問題確實與PHP沒有任何關係,我刪除了不相關的信息。 – 2012-03-07 16:32:00

回答

1

而不是獲得外部div的innerHTML,而是想要內部div的innerHTML。在DOM中,內部div是外部div的子元素,因此請獲得外部div的第一個子元素並獲得該元素的innerHTML。

喜歡的東西:

onclick=alert((this).childNodes[0].innerHTML) 
0

我不知道你正在嘗試做的,但我相信,你正在尋找以下(使用jQuery):


<div class="row" onclick="alert($(this).text());">test</div> 
3

你想從.label DIV讀出全名? 這應該是你想要的(純JS,沒有jQuery的需要):

<div class='row' onclick="alert((this).children[0].innerHTML)"> 

http://jsfiddle.net/WuA9R/1/

+0

這可能是正確的解決方案。我假設用戶想要獲取信息,而不管用戶點擊哪一行。 – 2012-03-07 16:34:16

+0

你必須同意Jquery使JS的美麗;) – 2012-03-07 16:34:52

+0

@OfirBaruch是的,我個人喜歡jQuery。但是:有時候jQuery是不需要的。加載整個jQuery僅僅用於讀取'DIV's內容是沒有意義的。 – Alex 2012-03-07 16:39:40

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>