gpt4 book ai didi

javascript - 不能在 title 属性中使用 HTML 实体吗?

转载 作者:太空狗 更新时间:2023-10-29 14:15:25 26 4
gpt4 key购买 nike

以上截图来自 Firefox。光标悬停在图像左侧的黄色点上。这是一个<img>元素(实际上它是一个图像和一个包含单个圆形 <area> 元素的图像映射,但我认为这种区别并不重要)已在 JavaScript 中创建和设置样式,包括应用 title 属性(通过切割和构建)粘合字符串)。我怎样才能让它表现出来并显示预期的字符,一个破折号,而不是 &ndash; ?它适用于 innerHTML(左上角的文本“Barrow-In-Furness”是一个 div,它也是使用 JavaScript 及其 innerHTML 集创建的。)

编辑:回应 Domenic 的问题:这是构建和应用 title 属性的 JavaScript 函数(除了执行其他工作之外):

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如下:

var LocationName = [
"Barrow&ndash;In&ndash;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 &amp; Runcorn", "Wigan",
"Yorkshire"
];

最佳答案

您没有设置标题属性,您设置的是标题属性,它需要文本而不是 HTML(尽管 setAttribute方法还需要一个文本字符串)。

一般来说,在处理 DOM 操作时,您提供的是文本而不是 HTML。 .innerHTML 是这条规则的明显异常(exception)。

关于javascript - 不能在 title 属性中使用 HTML 实体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com