Osc*_*son 5 html javascript ajax jquery json
我不知道我做错了什么,但我有一个JSON字符串:
jsonp443489({"content":"<!DOCTYPE html><html><head><title>Title</title></head><body><p>Hello World</p></body></html>"});
Run Code Online (Sandbox Code Playgroud)
我需要解析这个以便能够修改内容.比如,例如,id想要抓住它<p>
的内容.
现在,在jQuery,如果我这样做:
console.log($(json.content).html());
Run Code Online (Sandbox Code Playgroud)
它回来了Title
.
如果我做:
console.log($('p',json.content));
Run Code Online (Sandbox Code Playgroud)
它返回[]
一个空数组.
最后,如果我这样做:console.log($(json.content));
它回来了 [<title>?Title?</title>?,<p>?Hello World?</p>?]
这很好,但后来我无法做.find()
任何事情.由于我不知道HTML会是什么,我无法使用$(json.content)[1]
.
有任何想法吗?
== ==更新
在黑客攻击了几个小时后,我决定尝试使用XML.我的示例XML是:
<?xml version=\"1.0\" encoding=\"UTF-8\"?><doc><item>One</item><item>Two</item></doc>
Run Code Online (Sandbox Code Playgroud)
它给了我同样的悲伤,然后它击中了我,它是一个JS对象,而不是一个字符串,jQuery期待一个字符串.我去了
$(JSON.stringify(json.content)).find('item')
Run Code Online (Sandbox Code Playgroud)
瞧!我得到了两个项目的数组.我非常兴奋但是当我再次尝试使用HTML时(使用上面的JSONP返回HTML代码段):
console.log($(JSON.stringify(json.content)).find('p'));
Run Code Online (Sandbox Code Playgroud)
我仍然得到一个空数组.这让我发疯了...还有更多想法吗?
Par*_*rth -1
这里的 jsonp443489 是什么?为什么不直接做 $.parseJSON 呢?
完成此操作后,您应该能够访问其中的内容,然后从该内容创建一个 jquery 对象并在其中进行搜索。
var json = $.parseJSON(jsoncontent); $(json.content).find('');//或者你可以将其添加到dom并使用$('#id')进行搜索
归档时间: |
|
查看次数: |
6371 次 |
最近记录: |