Javascript getElementById问题
我有这个按钮:Javascript getElementById问题,javascript,jquery,Javascript,Jquery,我有这个按钮: <input type="button" value="Rep" id="rep" name="rep" class="rep" style="width:50px" onclick="triggerLabel(1);this.disabled=true;addRep(<?php echo $comment_id; ?>);"/> <script type="text/javascript"> functio
<input type="button" value="Rep"
id="rep" name="rep" class="rep" style="width:50px"
onclick="triggerLabel(1);this.disabled=true;addRep(<?php echo $comment_id; ?>);"/>
<script type="text/javascript">
function triggerLabel($commentID)
{
var $theID="#"+$commentID;
var $label=document.getElementById($theID).value;
alert($label);
}
</script>
9999没有插入表中…为什么
更新2:
这不起作用:
document.getElementById($commentID).value="88888";
标签没有更改。您不必为
getElementById
提供
。只有身份证。
所以写下:
var $label=document.getElementById($commentID).value;
另一个选项是通过JQuery$
函数获取元素。然后您必须提供#
:
不要将“#”添加到您的CommentID。
写:
document.getElementById()
不是jQuery,它是一个DOM函数,因此您不需要将#
放在id的前面或者正确地使用getElementById
,即删除
:
或者使用jQuery:
var $label = $($theID);
请注意,标签
s没有值
属性。如果要获取内部文本,请将innerHTML
或.text()
与jQuery一起使用
另外,在HTML5之前,不允许以数字开头的id。
document.getElementById(“您的id不带字符”)
将返回HTML元素
$(“#您的#id_和#char”)
将返回jQuery对象
您不应该在
document.getElementById()
函数中使用#
,只使用元素ID。如果您想使用ID前面的#,您可以使用querySelector
方法,但与旧浏览器不兼容
不兼容:IE<8,FFox<3.5,Opera<10,Safari<3.2
document.querySelector('#id')代码>
您不应该在您的案例中使用哈希
document.getElementById('#id')代码>
在jquery中,可以使用散列
$('id')
getElementById是DOM,不是本机JS,只有一件事-
没有value
属性,但是innerHTML
请参见我的答案,label
没有value
属性。改用innerHTML
“其他浏览器”?除了什么?
document.getElementById($commentID).value="88888";
var $label=document.getElementById($commentID).value;
var $label=$($theID).val()
function triggerLabel($commentID)
{
var $theID=$commentID;
var $label=document.getElementById($theID).value;
alert($label);
}
var $label = document.getElementById($commentID);
var $label = $($theID);