字符串.replace() method
不更新你怎麼稱呼它的字符串,它返回一個新字符串 - 這就是爲什麼你的alert(theHTML)
繼續顯示原始字符串。如果您這樣說:
theHTML = theHTML.replace("style=\"display:none;\"", "style=\"display:inline;\"")
然後alert(theHTML)
會顯示替換的版本。
但是,這仍然不會對實際的img元素產生任何影響,因爲它仍然只是對沒有連接到元素的字符串變量的操縱。實際上使img元素可見你必須從你的字符串產生一個新的元素,這是一個麻煩來取代它,或者你可以設置display
屬性直接:
$(this).css("display", "inline");
還請注意,您的原始代碼說this.html()
- this
似乎不太可能是一個jQuery對象,您可以調用jQuery .html()
方法,它更可能是DOM元素本身,在這種情況下,您需要說$(this).html()
。因此,如果任何答案不起作用,它可能與您如何首先獲得對img元素的引用this
有關 - 如果您可以更新您的問題以顯示該問題,可能會有所幫助。
還要注意的是,如果這裏的想法是出現在打印輸出img元素而不是其他,你可以做到這一點與CSS:
@media all {
img.printOnly { display: none; }
}
@media print {
img.printOnly { display: inline; }
}
帶來的「printOnly」類(或其他類名你想使用)到任何應該出現僅用於打印的元素。或者用id指定。隨你。
*爲什麼* HTML首先有'style =「display:none;」'? – 2012-03-01 04:11:23
@Madmartigan:從用戶隱藏圖像。然後打印出來。提示這就是爲什麼我想在它打印之前顯示它。 – StealthRT 2012-03-01 04:20:34