我有一个包含简单 HTML 的变量,如下例所示 - 变量的内容是通过 Ajax 动态生成的:
var errors = "<span id='id1'>Value 1</span><span id='id2'>Value 2</span><span id='id3'>Value 3</span><span id='id4'>Value 4</span><span id='id5'>Value 5</span>";
如何通过此变量中的 ID 获取特定元素的文本,例如ID='id3
' 的 span 文本?这里的结果应该是“Value 3
”。
我尝试了以下操作,但我得到的结果始终是空字符串或“[object Object]
”:
$(errors).filter('#id3')
$(errors).filter('#id3').text()
$(errors).find('#id3').text()
更新:
阅读完有关此问题的评论和答案后,我将代码分开,问题似乎出在 Ajax 的成功部分,其中 data
包含我在上面示例中显示的内容,但似乎并非如此存储在变量“errors
”中。 (如果我对变量进行硬编码,那么它可以与 .filter 一起使用。)
var errors = '';
$.ajax({
type: "post",
url: "ajax.php",
cache: "false",
data: {
node: 'fetchErrors',
selectedLang: selectedLang
},
success: function(data){
errors = data;
}
});
有人可以帮我解决这个问题吗?
提前非常感谢, 迈克
最佳答案
你走在正确的道路上......
var errors = "<span id='id1'>Value 1</span><span id='id2'>Value 2</span><span id='id3'>Value 3</span><span id='id4'>Value 4</span><span id='id5'>Value 5</span>";
var obj = $(errors);
var filter = $(obj).filter('#id3');
console.log(filter.text());
jsfiddle:fiddle
关于jQuery:如何从变量中的特定元素中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31218692/