我有html

<table>
<tr><td id="cell">&lt;a href=&quot;&quot;&gt;Google.com&lt;/a&gt;</td></tr>
</table>

<div id="to"></div>


我有javascript

$(document).ready(function() {
   var html = '<input type="text" value="'+$("#cell").html()+'" />'
   $("#to").append(html);
});


我不知道为什么,但是在执行此代码时,我在输入中仅得到<a href=。在firebug的检查器中,输入html显示为<input type="text" a&gt;="" &gt;google.com&lt;="" value="&lt;a href=" >如您所见,$quot;被替换为"-这就是问题所在。

我尝试使用.text()而不是.html()-几乎相同的情况。

我怎么了

谢谢。

最佳答案

尝试这个:

$(document).ready(function() {
   $('<input type="text">').val($("#cell").html()).appendTo("#to");
});


避免从字符串和变量构建HTML,使用jQuery和DOM提供的函数为属性分配值或更改元素的文本。这样更安全,恕我直言,它也更具可读性。

10-05 20:43
查看更多