Javascript 访问或获取id';php在jquery中返回的div数
说明: 在结束一些php工作之后,我的php将以下输出返回给jqueryJavascript 访问或获取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
<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!
}
});