字符串.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