2014-10-04 27 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