Javascript 通过jQuery Mobile中的ID从数组中填充按钮值
我已经开始创建一个测验。今天所有的问题和答案都在同一个数组中。通过id的Javascript 通过jQuery Mobile中的ID从数组中填充按钮值,javascript,arrays,jquery-mobile,getelementbyid,Javascript,Arrays,Jquery Mobile,Getelementbyid,我已经开始创建一个测验。今天所有的问题和答案都在同一个数组中。通过id的b1-b4和函数getElementById,HTMl、JavaScript和CSS都取得了成功 但是现在我想把这个脚本“转换”成一个移动版本。所以我开始使用jQuery Mobile。我将getElementById更改为$(“#变量”).val(数组)。并与Firebug进行了核对。Firebug告诉我,按钮的值被数组值填充,但我无法在正常视图中看到它 有人能告诉我一个解决我错误的方法吗 HTML按钮
b1-b4
和函数getElementById
,HTMl、JavaScript和CSS都取得了成功
但是现在我想把这个脚本“转换”成一个移动版本。所以我开始使用jQuery Mobile。我将getElementById更改为$(“#变量”).val(数组)代码>。并与Firebug进行了核对。Firebug告诉我,按钮的值被数组值填充,但我无法在正常视图中看到它
有人能告诉我一个解决我错误的方法吗
HTML按钮
<input id='b1' type="button" value="" ONCLICK="analyseB1()"/>
<input id='b2' type="button" value="" ONCLICK="analyseB2()"/>
<input id='b3' type="button" value="" ONCLICK="analyseB3()"/>
<input id='b4' type="button" value="" ONCLICK="analyseB4()"/>
<input id='next' type="button" value="Next Question" ONCLICK="next()"/>
}我的第一个建议是学习一些jQuery编程,您将看到它的基本原理。现在,关于你的问题:
- 使用
创建按钮
- 不要使用
onclick
处理程序
- 使用智能jQuery选择器避免重复函数
HTML:
<div data-role="page" id="page">
<a href="#" id="b1" data-role="button"></a>
<a href="#" id="b2" data-role="button"></a>
<a href="#" id="b3" data-role="button"></a>
<a href="#" id="b4" data-role="button"></a>
<a href="#" id="next" data-role="button">Next question</a>
</div>
$(document).on("click", "[id^=b]", function(event, ui)
{
alert(this.id);
});
$(document).on("click", "#next", function(event, ui)
{
$("#b1").prop("innerHTML", "b1 button");
$("#b2").prop("innerHTML", "b2 button");
$("#b3").prop("innerHTML", "b3 button");
$("#b4").prop("innerHTML", "b4 button");
$("#next").css("display", "none");
$("[id^=b]").css("backgroundColor", "");
});
用英语命名变量和函数是一种很好的做法(特别是如果你在这里发帖的话)。你说得对,我已经更改了。非常感谢:-)我期待在完成项目后了解更多关于jQuery和jQuery mobile的信息。两年前我在codeacademy.com上学习了一些jQuery,但我不再在实践中使用它了。由于对开发一些移动网站感兴趣,我想,也希望我能很快了解到这一点。再次感谢Sga,祝您度过愉快的一天:-)我还有一个小问题:为什么不将onclick处理程序与jQuery结合使用?
$(document).on("click", "[id^=b]", function(event, ui)
{
alert(this.id);
});
$(document).on("click", "#next", function(event, ui)
{
$("#b1").prop("innerHTML", "b1 button");
$("#b2").prop("innerHTML", "b2 button");
$("#b3").prop("innerHTML", "b3 button");
$("#b4").prop("innerHTML", "b4 button");
$("#next").css("display", "none");
$("[id^=b]").css("backgroundColor", "");
});