Javascript比较不适用于名称中包含HTML实体的按钮
HTML 使用上面的代码,我不会得到一个警报弹出 但是,如果我将按钮文本和比较字符串更改为仅为Javascript比较不适用于名称中包含HTML实体的按钮,javascript,jquery,html,Javascript,Jquery,Html,HTML 使用上面的代码,我不会得到一个警报弹出 但是,如果我将按钮文本和比较字符串更改为仅为Source,而不包含HTML实体,则它可以工作: HTML 有没有办法让它与HTML实体一起工作?这应该可以: function clicked() { if ($("#the_button").html() == "Source") { alert($("#the_button").html()); } } 我相信JS看到的是实体而不是引用。尝试使用下箭头的unic
Source
,而不包含HTML实体,则它可以工作:
HTML
有没有办法让它与HTML实体一起工作代码>?这应该可以:
function clicked() {
if ($("#the_button").html() == "Source") {
alert($("#the_button").html());
}
}
我相信JS看到的是实体而不是引用。尝试使用下箭头的unicode字符引用(
\u2193
)
var$btn=$('u按钮');
$btn.on('click',函数(){
var html=$btn.html();//或.text()
if('\u2193 Source\u2193'==html){
警报(html);
}
} );代码>
&达尔;来源&darr代码>您也可以使用伪元素
function clicked() {
if ($("#the_button").html() == '\u2193 Source \u2193') {
alert($("#the_button").html());
}
}
单击函数(){
if($(“#u按钮”).text()===$('↓Source↓')).text(){
// ....
}
}
查看链接了解实体名称的ascii代码。
有关如何使用转义序列,请参见链接。
单击函数(){
if(document.getElementById(“U按钮”).innerHTML==“\u2193源代码\u2193”){
警报(document.getElementById(“_按钮”).innerHTML);
}
}
↓来源&darr如果与“\u2193 Source\u2193”
相比,code>是否有效?在任何情况下,在
上使用类之类的东西来识别它都会更加健壮。如果有人出现并决定在将来修改它,依赖文本将被破坏。这是一个有点次优的设计,但如果您不想处理html实体,请将箭头和文本“Source”包装为3个跨距,只检查中间一个包含“Source”的html。我假设您将有多个按钮使用“clicked()”函数作为处理程序?
<button id="the_button" onclick="clicked()">Source</button>
function clicked() {
if ($("#the_button").html() == "Source") {
alert($("#the_button").html());
}
}
function clicked() {
if ($("#the_button").html() == '\u2193 Source \u2193') {
alert($("#the_button").html());
}
}
function clicked() {
if ($("#the_button").text() === $('<span>↓ Source ↓</span>').text()) {
// ....
}
}