Javascript jQuery添加可点击的字母

Javascript jQuery添加可点击的字母,javascript,jquery,html,click,Javascript,Jquery,Html,Click,我试图使jQuery中添加的span元素中的C可以单击,我希望在单击时将其更改为F,但由于某些原因,它无法工作 $(文档).ready(函数(){ $(“#位置”).html(“纽约州纽约市”); $(“#温度”).html(“112”); $(“温度”)。附加(“C”); $(“span:contains('C')”).attr(“id”,“type”); $(“span:contains('C')”)。单击(changeNotation()); }); 函数变更表示法(){ var表示法=

我试图使jQuery中添加的span元素中的C可以单击,我希望在单击时将其更改为F,但由于某些原因,它无法工作

$(文档).ready(函数(){
$(“#位置”).html(“纽约州纽约市”);
$(“#温度”).html(“112”);
$(“温度”)。附加(“C”);
$(“span:contains('C')”).attr(“id”,“type”);
$(“span:contains('C')”)。单击(changeNotation());
});
函数变更表示法(){
var表示法=document.getElementById(“类型”);
如果(notation.textContent=='C')
notation.innerHTML='F';
else if(notation.textContent='F')
notation.innerHTML='C';
}

欢迎使用天气应用程序!

此应用程序将根据您当前的位置显示天气。单击C或F在摄氏度和华氏度之间切换

当前位置 当前温度
如评论中所述,您应该使用
$(文档)。选择器应基于id,或者当它更改为“F”时,它将不存在

此外,在比较if(notation.textContent.trim()='C')
值时应该使用trim()。首先,我个人不喜欢看到纯js和jquery

关于您的代码:

1-ً使用append时,需要使用

$("#temperature").on('click',"span#type", changeNotation);
2-您需要在单击事件时使用
span#type
span:contains('C')
在您的情况下,仅当包含C而不是包含F时,它才会更改

下一个代码将有所帮助

$(文档).ready(函数(){
$(“#位置”).html(“纽约州纽约市”);
$(“#temperature”).html(“112”).append('C');
$(“#温度”)。在('click',“span#type”,changeNotation)上;
});
函数变更表示法(){
变量el=$(“#类型”),
表示法=$(“#type”).text().trim();
如果(表示法=='C'){
el.html('F');
}else if(表示法='F'){
html('C');
}
}

欢迎使用天气应用程序!

此应用程序将根据您当前的位置显示天气。单击C或F在摄氏度和华氏度之间切换

当前位置 当前温度
您还需要制作
。我在讲天气应用程序!要在jquery中添加onclick事件,您需要将
$(“span:contains('C')”)设置为on('click',change notation)
和add
span
加上“C”可能是因为您没有将事件进一步委托给DOM?无论何时动态添加DOM元素,在页面加载时创建的jQuery绑定都不会应用于新元素,除非将它们绑定到页面加载时存在的内容,如
body
。比如:
$(“body”)。在(“click”,“span:contains('C')”上,function(){do your function stuff})。嗨!我试过你的建议,但不幸的是仍然不起作用。它可能是changeNotation函数本身吗?我想我试着用HTML代替带有按钮元素的jQuery来编写相同的代码,但仍然不起作用。谢谢!我认为这解决了问题,而且信息量很大@哲学不客气。祝你今天愉快:-)