¿No es posible usar entidades HTML en un atributo de título?
La captura de pantalla de arriba es de Firefox. El cursor está sobre la mancha amarilla en el lado izquierdo de la imagen. Es un elemento <img>
(bueno, en realidad es una imagen junto con un mapa de imagen que contiene un solo elemento circular <area>
, pero supongo que esta distinción no es importante) que se ha creado y diseñado en JavaScript, incluida la aplicación de un atributo de título (construido por cortar y pegar cuerdas). ¿Cómo puedo hacer que esto se comporte y mostrar el carácter deseado, un en dash, en lugar de –
? Funciona para innerHTML (el texto "Barrow-In-Furness" en la parte superior central izquierda es un div que también se creó usando JavaScript, y su conjunto innerHTML.)
Editar: En respuesta a la pregunta de Domenic: Here es la función de JavaScript que crea y aplica el atributo del título (además de realizar otros trabajos):
var StyleLinkMarker = function (LinkNumber, EltA, EltI) {
var AltText = LocationName[LinkStart[LinkNumber]] +
" to " +
LocationName[LinkEnd[LinkNumber]];
if (!EltA) {
EltA = document.getElementById("link_marker_area" + LinkNumber);
EltI = document.getElementById("link_marker_img" + LinkNumber);
}
if (LinkStatus[LinkNumber] === 9) {
var CanBuyLinkCode = BoardPreviewMode ? 0 : CanBuyLink(LinkNumber);
if (CanBuyLinkCode === 0) {
EltI.src = ImagePath + "icon-buylink-yes.png";
AltText += " (you can buy this " + LinkAltTextDescription + ")";
} else {
EltI.src = ImagePath + "icon-buylink-no.png";
AltText += " (you cannot buy this " + LinkAltTextDescription;
AltText += CanBuyLinkCode === 1 ?
", because you aren't connected to it)" :
", because you would have to buy coal from the Demand Track, and you can't afford to do that)";
}
} else if (LinkStatus[LinkNumber] === 8 ||
(LinkStatus[LinkNumber] >= 0 && LinkStatus[LinkNumber] <= 4)
) {
EltI.src = ImagePath + "i" + LinkStatus[LinkNumber] + ".png";
if (LinkStatus[LinkNumber] === 8) {
AltText += " (orphan " + LinkAltTextDescription + ")";
} else {
AltText += " (" +
LinkAltTextDescription +
" owned by " +
PersonReference(LinkStatus[LinkNumber]) +
")";
}
} else {
throw "Unexpected Link Status";
}
EltA.alt = AltText;
EltA.title = AltText;
};
LocationName
es el siguiente:
var LocationName = [
"Barrow–In–Furness", "Birkenhead", "Blackburn", "Blackpool",
"Bolton", "Burnley", "Bury", "Colne",
"Ellesmere Port", "Fleetwood", "Lancaster", "Liverpool",
"Macclesfield", "Manchester", "The Midlands", "Northwich",
"Oldham", "Preston", "Rochdale", "Scotland",
"Southport", "Stockport", "Warrington & Runcorn", "Wigan",
"Yorkshire"
];
¿Estás seguro de que el '–' no está codificada en dos ocasiones como : '& ndash;' – Mark
¿Cómo está configurando el atributo de título? Lo siguiente funciona bien: ' pruebame' – Domenic
@Mark: estoy seguro de que no tiene doble codificación. En particular, si tuviera doble codificación, debería esperar que el texto audaz de Verdana en la parte superior media izquierda de la imagen también muestre la entidad HTML literalmente, en lugar de mostrar correctamente el carácter deseado. Esto se debe a que el contenido del div se crea a partir de la misma cadena de JavaScript. – Hammerite