我有一个函数,它将占用某个类的所有跨度(“jobStatus”)并从中删除一个额外的类(“orange”)。我从SELECT onchange调用函数(onchange =“chgJobstatus(this);”)。它工作得很好。
但是,我试图让它在页面加载时运行,基于所选的值(这是动态生成的服务器端。)
这将有效:
$(document).ready(function(){
chgJobstatus(document.getElementById("chgStatus"));
});
这不起作用:
$(document).ready(function(){
chgJobstatus(jQuery('#chgStatus'));
});
jQuery('#id')不是和document.getElementById('#id')做同样的事吗??
答案 0 :(得分:9)
关于选择元素,是的,但jQuery选择器返回jQuery对象,getElementById
返回DOM Element对象,您可以使用[index]
或get(index)
方法获取DOM元素:
chgJobstatus(jQuery('#chgStatus')[0]);
答案 1 :(得分:0)
不,jQuery('#id')
返回一个jquery对象,附加了附加的函数和属性。
我不完全确定你要做什么,但是这样的事情可以替代你所描述的所有javascript。
$("#chgStatus")
.bind("change", function() {
$(".jobStatus").removeClass("orange");
}).trigger("change");
答案 2 :(得分:0)
这肯定有用。 jQuery(selector)
始终返回jQuery对象(jQuery(selector) instanceof jQuery is true )
。但你可以使用.get获取原生dom元素,或者只使用类似数组的语法,如下所示。
$(document).ready(function(){
chgJobstatus(jQuery('#chgStatus')[0]);
});
答案 3 :(得分:0)
jQuery('#id') - 返回一个jQuery对象
document.getElementById('#id') - 返回一个HTML DOM对象
的jQuery( '#标识')得到(0); OR jQuery('#id')[0]; - 返回HTML DOM对象
通过使用jquery,它将允许您访问jquery函数。如果您阅读以下链接,您将获得一个好主意。
document.getElementById vs jQuery
jQuery $() vs. document.getElementByID — differences
答案 4 :(得分:0)
更重要的是你应该知道的是jQuery返回对jQuery对象的引用,而不是对象本身。