2010-09-23 111 views
0
alt屬性

可能重複:
Alt attribute encoding with JavaScript的javascript:有特殊字符

我似乎無法在指定alt標籤使用javascript特殊字符,並讓他們在任何瀏覽器渲染。

沒有JavaScript,在alt標籤的特殊字符渲染精細(百事可樂™):

<img id="pic" src="path/to/image.jpg" alt="Pepsi&trade;" />

然而,通過指定JavaScript或jQuery的你得到這個相同的值時(可樂&trade;)。

$("#pic").attr("alt","Coke&trade;")image = document.getElementById('pic'); image.alt="Pepsi&trade;"

在Chrome和IE6存在這個問題;我沒有嘗試過其他瀏覽器。有任何想法嗎?

回答

2

首先,你應該把該文本在「標題」屬性,而不是「ALT」。 「alt」屬性應該包含圖片無法顯示時顯示的文本。 「標題」屬性提供了渲染代理可以使用的解釋性文本,並且飛越式文本就是其中的主要示例。使用你的例子,「alt」屬性可能是「百事可樂的標誌」,而「標題」將是花哨的價值。 (在這種情況下,沒有太大的區別,但重點在於這兩個屬性在目的上確實有很大不同。)

如果您需要通過Javascript獲取這些特殊字符,則必須使用Javascript提供Unicode值像\uNNNN那樣轉義,其中「NNNN」是十六進制數字。例如,我認爲商標符號應該是"\u00AE"作爲Javascript字符串。

+0

確實。這僅僅是爲了說明的目的,真正的替代文字是適當的。 – Kevin 2010-09-23 14:19:16

+0

其次,謝謝。那就是我正在尋找的東西。 – Kevin 2010-09-23 14:20:55

0

嘗試 -

$( 「#PIC」)ATTR( 「ALT」, 「焦\ u2122」)。