使用jQuery编辑HTML ID值
我正在尝试为一个项目制作一个“小动物”游戏。 我最近发现了使用jQuery编辑HTML ID值,jquery,Jquery,我正在尝试为一个项目制作一个“小动物”游戏。 我最近发现了的美,并决定将其用于我的“健康”和“幸福”酒吧 HTML <meter low=".5" optimum=".8" high=".7" id="health" value="0.1"></meter> <button type="button" id="feedme">Feed Me</button> 上述代码将“health”ID更改为0.5,而不是添加0.5。我相信这是因为我使用的是.
的美,并决定将其用于我的“健康”和“幸福”酒吧
HTML
<meter low=".5" optimum=".8" high=".7" id="health" value="0.1"></meter>
<button type="button" id="feedme">Feed Me</button>
上述代码将“health”ID更改为0.5,而不是添加0.5。我相信这是因为我使用的是.setAttribute()
,而不是其他东西
我尝试了几种不同的方法,包括health.value=food代码>(增加var食品而不是计量器)和其他更冗长的解决方案,由于声誉不足,我无法在此链接
那么,我可以用什么来代替.setAttribute()
来修改值而不是设置值呢
好的,至少在仪表方面可以工作(IE除外)。你的游戏的UX
当然是由你自己定义的
一元加号运算符
:
.您确实需要使用setAttribute()
,但是在您必须通过getAttribute()
缓存属性之前,您必须先将0.5
添加到属性中!抱歉,如果我打破了你的泡泡,但IE@DOCASAREL中不支持meter,这会在单独的代码行中吗?@user1477388我知道,但我只使用Chrome,这个项目只是下次老师在现场时展示给她看(所以她会在我的PC上查看),所以这不是问题:)谢谢,谢谢,虽然效果很好,谢谢。只有一个问题,我注意到确认(“我已经吃饱了!”)代码>在达到1时没有闪烁,但是确认(“哇,我真的很讨厌布鲁塞尔芽”)每次(我删除评论后)都会出现code>为什么?我以为你想让用户感觉到,他吃了美味的“布鲁塞尔豆芽”,但他不喜欢。%)P所以我现在也删除了答案中的注释。但除此之外,我第一眼就不知道你们想做什么?!?它位于带有setAttribute()
的else
中,因此技术支持是正确的。。。!你想把它放在哪里?我是说确认(“我已经吃饱了!”)代码>应该在val==1时运行,但它不是,我不知道为什么?问题是,它可以工作(再次单击),但它在setAttribute()
之前读取并获得旧值…嗯。看来你得在游戏中加入更多的逻辑顺便说一句,这都不是jQuery!芽甘蓝:)
var health = document.getElementById("health")
$(document).ready(function(){
$('#feedme').click(function(){
if (health === 1) {
confirm("I'm already full!");
} else {
document.getElementById('health').setAttribute('value', + 0.5);
confirm("Ewww, I really hate brussel sprouts");
}
if (health > 1) {
health = 1;
}
});
});
var health = document.getElementById("health")
$(document).ready(function(){
$('#feedme').click(function(){
var val = + document.getElementById('health').getAttribute('value') //unary + to Integer
if (val > 1) {
val = 1;
}
if (val === 1) {
confirm("I'm already full!");
} else {
document.getElementById('health').setAttribute('value', val + 0.5);
confirm("Ewww, I really hate brussel sprouts");
}
});
});