2013-10-08 71 views
3

我知道這個問題是如此熟悉在stackoverflow,但我仍然無法找到我的解決方案。我想單擊父div時獲取我的子div的值,但是當前的代碼使我「未定義」。下面我的HTML給出:如何從父母使用jquery得到一個特定的孩子div值

<div class="main"> 
    <div class="testId"> 
    1 
    </div> 
    <div class="testName"> 
    test 
    </div> 
    <div class="testDob"> 
    10/10/10 
    </div> 

</div> 

及以下

var id = $(this).child(".testId").innerHTML; 

任何想法我的劇本給出?

+0

嘗試'變種id = $(this).children(「。testId」)[0] .innerHTML;' –

+0

爲什麼在使用.html()或.text()時使用innerHTML? –

+0

一個可能的原因是,如果你點擊父級的子元素,那麼它不會工作....所以試試'$(this).closest('。main')。children(「。testId」)。html() ' –

回答

5

嘗試使用find()

var id = $(this).find(".testId").text(); 
1

使用.children()沒有選擇.child()

var id = $(this).children(".testId")[0].innerHTML; 

var id = $(this).children(".testId").text(); 

var id = $(this).children(".testId").eq(0).text(); 
1

我覺得這個應該工作

$('.main').click(function(){ 
    var value = $(this).child(".testId").text(); 
})  
3

「發現」 找到的元素只是div.main

var id = $(this).find(".testId").html(); 
console.log(id); 
1

這裏內部工作〔實施例

<!DOCTYPE html> 

<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
</head> 
<body> 
    <div class="main"> 
       <div class="testId"> 
       1 
       </div> 
       <div class="testName"> 
       test 
       </div> 
       <div class="testDob"> 
       10/10/10 
       </div> 

      </div> 

    <script> 
     $(".main").click(function() { 
      var id = $(this).children(".testId").html(); 
      alert(id) 
     }) 
    </script> 
</body> 
</html> 
相關問題