String to Object未按预期工作

时间:2013-04-11 22:33:27

标签: jquery

在JQuery中将字符串转换为html对象时,我没有得到整个段,我想知道我是否正确使用它。

以下是填充'数据'后的代码:

    console.log(data);
    console.log("---");
    console.log($(data).html());

以下是结果:

<div style='width:260px; height:128px; text-align:left' id='productTn'><img src='images/rProduct02.jpg' id='productTnImg' class='productTnImg' alt='Selected Product' style='border-style:none' height=128 width=128 /></div><div id='productLI' style='width:281px; min-height:185px'><b>Audi</b></div>
--- 
<img src="images/rProduct02.jpg" id="productTnImg" class="productTnImg" alt="Selected Product" style="border-style:none" height="128" width="128"> 

正如您所看到的,在将HTML转换为对象,然后再将其转换回字符串后,只有IMG部分存在,其余部分消失了。我在这里做错了吗?

3 个答案:

答案 0 :(得分:1)

$(data).html();引用innerHtml的{​​{1}},这将在您的案例中返回data

使用此img您没有将数据转换为$(data).html();,您只是要求jquery返回html内的html

您问过 - String to Object无法按预期工作

您的div变量已经是对象

详细了解.html()

答案 1 :(得分:1)

一个打印变量data的实际内容,这是整个字符串,而.html()检索div的内部HTML。

console.log(data); // prints the actual content of data
console.log($(data).html()); // prints the inner HTML of data

答案 2 :(得分:1)

jQuery .html()方法将引用匹配元素的innerHTML。如果你想要outerHTML你可以尝试这样的事情:console.log($(data).wrap("<div/>").parent().html());虽然取决于你究竟需要什么,也许你最好只引用data本身?包装data节点只是为了能够选择它可能会引入其他问题(例如CSS选择器)。