2014-10-04 28 views
0

我有这样的代码:添加大小属性来<img>不能正常工作

$("#myId").html(
    "<img src='" + 
    $(xml).find("picture").text() + 
    "' height="42" width="42"></img>" 
); 

它正常工作,直到我加入'height="42" width="42"'文本。为什么是这样?你不能像这样添加尺寸属性吗?

+1

JavaScript有语法错误。您需要使用撇号''42'或者转义引号'\“42 \”' – Stryner 2014-10-04 21:48:55

回答

1

您打开与"字符串,因此任何你包含字符串内必须\

要转义
$("#myId").html(
    "<img src='" + 
    $(xml).find("picture").text() + 
    "' height=\"42\" width=\"42\"/>" 
); 
+0

提到''是不必要的。 – Regent 2014-10-04 21:51:08

+0

啊,我不敢相信我没注意到!非常感谢,修复它! – user2022185 2014-10-04 21:54:38

1
"' height="42" width="42"></img>" 

在这部分你“打开和从高处第一=后关闭它。

+0

感谢您的帮助! – user2022185 2014-10-04 22:01:58

3

在现实中你应该做这样说:

$("#myId").html($('<img/>', { 
    src: $(xml).find("picture").text(), 
    css: { 
     height: '42px', 
     width: '42px' 
    } 
})) 
+1

哇,看起来好多了。谢谢! – user2022185 2014-10-04 22:01:29

+1

元素创建的这种方法确实比字符串连接更好看。 – Regent 2014-10-04 22:05:50

+1

清洁方法。我肯定会推荐这个给做轻量级DOM注入的人。然而,对于大数据循环来说,这并不理想,因为每次你想追加jQuery元素的构造都会发生。这会造成巨大的性能下降。 +1。 – Ohgodwhy 2014-10-04 23:01:02