使用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时没有闪烁,但是
确认(“哇,我真的很讨厌布鲁塞尔芽”)为什么?我以为你想让用户感觉到,他吃了美味的“布鲁塞尔豆芽”,但他不喜欢。%)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");
        }      

    });
});