Javascript 访问或获取id';php在jquery中返回的div数

Javascript 访问或获取id';php在jquery中返回的div数,javascript,php,jquery,Javascript,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 i

说明:

在结束一些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>

现在$(result)有了php返回的div,我如何从中提取div的id。。。请忽略任何打字错误。谢谢:)

在html中查找所有div,迭代它们,获取id


找到html中的所有div,迭代它们,获取id


我假设您的
结果
变量包含字符串

var result = '<div id = "container1"><div id = "chicken1"></div><div id = "soup1"></div></div><div id = "container2"><div id = "chicken2"></div>   <div id = "soup2"></div></div>';

var parser = new DOMParser();
var data = parser.parseFromString(result, "text/html");

var div = data.getElementsByTagName( 'div' );
var ids = [];

for( var i = 0; i < div.length; i++ ){
    ids.push( div[i].getAttribute('id') );
}
var结果=”;
var parser=新的DOMParser();
var data=parser.parseFromString(结果为“text/html”);
var div=data.getElementsByTagName('div');
var-id=[];
对于(变量i=0;i
数组“ids”包含元素的id数组


这里是我假设
结果
变量包含字符串

var result = '<div id = "container1"><div id = "chicken1"></div><div id = "soup1"></div></div><div id = "container2"><div id = "chicken2"></div>   <div id = "soup2"></div></div>';

var parser = new DOMParser();
var data = parser.parseFromString(result, "text/html");

var div = data.getElementsByTagName( 'div' );
var ids = [];

for( var i = 0; i < div.length; i++ ){
    ids.push( div[i].getAttribute('id') );
}
var结果=”;
var parser=新的DOMParser();
var data=parser.parseFromString(结果为“text/html”);
var div=data.getElementsByTagName('div');
var-id=[];
对于(变量i=0;i
数组“ids”包含元素的id数组


下面是选择部分属性匹配的元素的使用
div[id^=“container”]
。要做到这一点,您必须首先将PHP输出放到DOM中,使用类似于
.append($data)
的函数

我认为最好在PHP中处理数据,并将一些结构化数据返回给jQuery回调(例如JSON),然后在js中循环这些数据并用一些HTML包装

[PHP]
echo json_encode(['itemId1' => ['someAttributes'], ...]);

[JS]
$.ajax({
   url: "../PHP/get_all_new_msgs_on_profile.php",
   dataType: 'json', // Will autoparse JSON!
   success: function(jsonArray){
       $.each(jsonArray, function(index, item){
           $('.parentWrapper').append(
               '<div id="container' + index + '" class="container">' + item.name + '</div>'
           );
       });

       $(document).on('click', '.container', function(){
          alert('Clicked on element');
       });

       //Do not use any return!
   }
});
[PHP]
echo json_encode(['itemId1'=>['someAttributes'],…]);
[JS]
$.ajax({
url:“../PHP/get_all_new_msgs_on_profile.PHP”,
数据类型:“json”,//将自动生成json!
成功:函数(jsonArray){
$.each(jsonArray,函数(索引,项){
$('.parentWrapper')。追加(
''+项目名称+''
);
});
$(文档).on('单击','.container',函数(){
警报(“单击元素”);
});
//请勿使用任何退货!
}
});

要选择部分属性匹配的元素,请使用
div[id^=“container”]
。要做到这一点,您必须首先将PHP输出放到DOM中,使用类似于
.append($data)
的函数

我认为最好在PHP中处理数据,并将一些结构化数据返回给jQuery回调(例如JSON),然后在js中循环这些数据并用一些HTML包装

[PHP]
echo json_encode(['itemId1' => ['someAttributes'], ...]);

[JS]
$.ajax({
   url: "../PHP/get_all_new_msgs_on_profile.php",
   dataType: 'json', // Will autoparse JSON!
   success: function(jsonArray){
       $.each(jsonArray, function(index, item){
           $('.parentWrapper').append(
               '<div id="container' + index + '" class="container">' + item.name + '</div>'
           );
       });

       $(document).on('click', '.container', function(){
          alert('Clicked on element');
       });

       //Do not use any return!
   }
});
[PHP]
echo json_encode(['itemId1'=>['someAttributes'],…]);
[JS]
$.ajax({
url:“../PHP/get_all_new_msgs_on_profile.PHP”,
数据类型:“json”,//将自动生成json!
成功:函数(jsonArray){
$.each(jsonArray,函数(索引,项){
$('.parentWrapper')。追加(
''+项目名称+''
);
});
$(文档).on('单击','.container',函数(){
警报(“单击元素”);
});
//请勿使用任何退货!
}
});

您尝试了什么,也发布了。为什么不使用类?请解释为什么要这样做,当然有一个更符合逻辑的解决方案您想要获得所有ID?就这些吗?@user574632 my php返回divs,其中包含发送消息的人的图像和消息。。。。我有一个通知面板,其中有最近收到的消息。现在,如果我收到来自Aron的消息,我希望以前收到的消息div替换为来自Aron的新消息。。。这就是为什么你尝试了,也发布了。为什么你不使用类?请解释为什么你想这样做,当然有一个更符合逻辑的解决方案你想获得所有ID?就这些吗?@user574632 my php返回divs,其中包含发送消息的人的图像和消息。。。。我有一个通知面板,其中有最近收到的消息。现在,如果我收到来自Aron的消息,我希望以前收到的消息div替换为来自Aron的新消息。。。这就是为什么
[PHP]
echo json_encode(['itemId1' => ['someAttributes'], ...]);

[JS]
$.ajax({
   url: "../PHP/get_all_new_msgs_on_profile.php",
   dataType: 'json', // Will autoparse JSON!
   success: function(jsonArray){
       $.each(jsonArray, function(index, item){
           $('.parentWrapper').append(
               '<div id="container' + index + '" class="container">' + item.name + '</div>'
           );
       });

       $(document).on('click', '.container', function(){
          alert('Clicked on element');
       });

       //Do not use any return!
   }
});