2014-08-28 68 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')); 
});