我有html
<table>
<tr><td id="cell"><a href="">Google.com</a></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>="" >google.com<="" value="<a href=" >
如您所见,$quot;
被替换为"
-这就是问题所在。我尝试使用
.text()
而不是.html()
-几乎相同的情况。我怎么了
谢谢。
最佳答案
尝试这个:
$(document).ready(function() {
$('<input type="text">').val($("#cell").html()).appendTo("#to");
});
避免从字符串和变量构建HTML,使用jQuery和DOM提供的函数为属性分配值或更改元素的文本。这样更安全,恕我直言,它也更具可读性。