给定带有选项的选择标记:
<div id='mydiv'>0</div>
<select id="mysel">
<option id="opt1">a</option>
<option id="opt2">b</option>
</select>...
如何检索实际的字符串选择? IE浏览器。如何从var mysel中检索实际的“select#mysel”?
如何使用它的例子?
var mysel = $("select#mysel");
var myopt = $(mysel.actualstringselection + " option");
var myoptcount = myopt.length;
alert("my option count:" + myoptcount );
$("#mydiv").html(myoptcount);
答案 0 :(得分:2)
回答更新的问题:
如何检索实际&#34;选择#mysel&#34;来自var mysel?
如何使用它的例子?
var mysel = $("select#mysel"); var myopt = $(mysel.actualstringselection + " option");
所以基本上,你想要传递给$()
的原始选择器字符串以获得mysel
。
你无法做到。 jQuery从未提供过正式的方法。很长一段时间,jQuery实例上都有一个未记录的属性(主要是大部分时间),但它总是没有文档,因为它不是完全可靠的,它甚至不存在于当前版本。
相反,你可以自己做:
var selector = "select#mysel";
var mysel = $(selector).data("selector", selector);
// Presumably somewhere else where you no longer have the `selector` variable:
var myopt = $(mysel.data("selector") + " option");
但,您不希望将其用于上述内容。 (您使用find
,如最初[下面]所述)。我能想到这样一件事的唯一原因是你是否改变了DOM并希望重复原始查询。 E.g:
mysel = $(mysel.data("selector")); // Goes looking for the elements again
原始回答:
如果在这一行之后:
var mysel = $("select#mysel");
...您尝试使用mysel
在该jQuery对象中的任何DOM元素的后代元素中查找内容,使用find
:
var optionElements = mysel.find("option");