2014-08-28 30 views
0

說明:得到任何DIV的ID和兒童從PHP返回的jQuery

後在年底一些PHP的工作,我的PHP返回以下輸出,要求該頁面的jQuery

<div id = "container1"> 
    <div id = "chicken1"></div> 
    <div id = "soup1"></div> 
</div> 


<div id = "container2"> 
    <div id = "chicken2"></div> 
    <div id = "soup2"></div> 
</div> 

等等......

現在在jquery回調中獲得了很多結果。所以在結果中,我想用特定的id搜索div或者獲取這些id。我怎樣才能做到這一點。

例如讓我說我想所有的ID說雞1,雞2等....有沒有辦法做到這一點?

以下是代碼:

PHP

echo '<div id = "container1"> 
     <div id = "chicken1"></div> 
     <div id = "soup1"></div> 
    </div> 


    <div id = "container2"> 
     <div id = "chicken2"></div> 
     <div id = "soup2"></div> 
    </div>'; 

JQUERY

$.post("../PHP/get_all_new_msgs_on_profile.php",{arr:data},function(result) { $(result).hide().prependTo("#new_buddy_messages_on_profile").fadeIn("fast").slideDown("slow"); } 現在$(結果)具有PHP返回的div怎麼可以從它提取div的id ... PLease忽略任何輸入錯誤。謝謝:)

+2

'id'對每個元素都應該是唯一的。 – Mritunjay 2014-08-28 19:39:00

+0

我認爲你需要改變你的問題。 _搜索具有特定ID的div或獲取這些id's_這是什麼意思? – 2014-08-28 19:39:59

+0

@Kristoffer我已經編輯了我的問題看看在描述中隨着代碼... 我想我已經非常清楚:) – 2014-08-29 05:23:29

回答

1

正如@Mritunjay您的ID提到都必須是唯一的。如果您需要指定或訪問按名稱的多個元素,你應該給他們一個類(http://www.w3schools.com/tags/att_global_class.asp

欲瞭解更多信息請參閱this

jQuery選擇:

  • ID:$("#myId")
  • 類別:$(".myClass")
  • 元素:$("element") - 即$("div")

對於所有jQuery選擇列表,請點擊此鏈接:http://api.jquery.com/category/selectors/

獲取特定元素的子元素,用children()。其實現的一個例子如下:

$(".myClass").children("div"); //Assuming .myClass has a child `div` element 

你的情況...

HTML

<div id = "container"> 
    <div id = "chicken1"></div> 
    <div id = "soup"></div> 
</div> 


<div id = "container"> 
    <div id = "chicken2"></div> 
    <div id = "soup"></div> 
</div> 

應改爲:

<div class = "container"> 
    <div id = "chicken1"></div> 
    <div class = "soup"></div> 
</div> 


<div class = "container"> 
    <div id = "chicken2"></div> 
    <div class = "soup"></div> 
</div> 

,並獲得與分配類.container每個元素,使用​​ 來獲取類的每個子元素與chicken開頭的各種ID的.container您可以使用以下:

$(".container").children('*[id^="chicken"]').each(function() { 
    //Something here 
}); 

在本fiddle

0

你應該改變所有的id爲類,因爲id的需要是唯一的。

您可以使用:has選擇

$(".container:has(.chicken2)") 
2

首先改變<div id='container'><div class='container'>後嘗試使用此。

$('.container [id*=chicken]').each(function(index){ 
    console.log($(this).attr('id')); 
});