本当に単純に思えることをするのに苦労しています。私は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 を挿入することはあまり意味がないため、他に選択肢はありません。