我很难做一些看起来很简单的事情。我有一个 javascript 对象:
var main = {
pages : {
"123" : {
"content": "<div><p>The div</p></div><nav><p>The nav</p></nav>",
"foo":"bar"
},
"456" : {
"content": "<div><p>The div</p></div><nav><p>The nav</p></nav>",
"foo":"bar"
}
}
};
我正在尝试以下代码:
$(function(){
var p = main.pages;
$.each(p,function(i,el){
var c = p[i].content;
var newc = $(c).find('nav').html('<p>New content</p>');
//console.log(c);
//console.log(newc);
});
//console.log(p)
});
使我的对象看起来像:
var main = {
pages : {
"123" : {
"content": "<div><p>The div</p></div><nav><p>New content</p></nav>",
"foo":"bar"
},
"456" : {
"content": "<div><p>The div</p></div><nav><p>New content</p></nav>",
"foo":"bar"
}
}
};
但我很难做到。我错过了什么?
我已经在jsfiddle中设置了前一个示例
我确实理解尝试将字符串作为 dom 元素进行操作通常不是一个好主意,但我别无选择,因为该对象来自 RESTful 服务器,并且为此在当前页面中注入 html 没有多大意义。