我想做以下使用.attr();jQuery .attr()和值
selectbox.options[selectbox.selectedIndex].value
可悲的是,
selectbox.options[selectbox.selectedIndex].attr("value")
是不一样的,而且似乎完全打败.attr的目的。我的主要问题是:如何使用嵌套的.attr()s?
Muchos格拉西亚斯MI戈斯
我想做以下使用.attr();jQuery .attr()和值
selectbox.options[selectbox.selectedIndex].value
可悲的是,
selectbox.options[selectbox.selectedIndex].attr("value")
是不一样的,而且似乎完全打败.attr的目的。我的主要问题是:如何使用嵌套的.attr()s?
Muchos格拉西亚斯MI戈斯
使用attr()时,您必须使用jQuery对象。因此,首先选择相关的选择框,然后在需要输入元素的值时调用attr()(或val())。
var value = $(selectbox).val();
的原因,他们是不一样的,因为attr('value')
得到value
的值直接从原始的HTML代码属性,它不更新与DOM,如果value
值后,改变的意思在页面加载,或者通过用户输入(键入到<input>
元件,或经由与JavaScript操作,这些变化将不被在.attr()
返回值反映出来。
一种更好的方法是使用的所述.val()
方法jQuery对象
编辑 为了从一个DOM元素值的属性(即不是由$()
或jQuery()
函数返回)使用element.getAttribute()
方法,这是本地的,你会使用这样的:
selectbox.options[selectbox.selectedIndex].getAttribute("value");
他打算*取*这个值,这不是问题......它就是'.attr()'甚至不是DOM元素上的有效方法:) – 2010-10-01 22:05:44
哦,我现在看到了,我只是假设他正在使用jQuery,所以我没有看他的代码,并发现非jQueryness。谢谢 :) – 2010-10-01 22:07:09
如果您想使用当前的代码简单地将它传递到检索选择框的值这样的jquery对象。
$(selectbox.options[selectbox.selectedIndex]).attr('value');
JavaScript没有'attr'函数。 jQuery的确。我编辑了标题。 – 2010-10-01 22:05:06
@ T.J。 Crowder thanks – sova 2010-10-03 22:29:45