我试图使用hide隐藏下拉列表(选择元素)但不能。下面是我正在使用的jQuery代码。
$('.myClass').find('select[name=xyz]').hide();
chrome中的异常:对象xyz没有方法'hide'
对应的HTML
<div class="myClass">
<select id="xyz" name="xyz">
<option>option1</option>
<option>option2</option>
</select>
<select id="123" name="123">
<option>option3</option>
<option>option4</option>
</select>
</div>
答案 0 :(得分:1)
编辑:我发现您现在已经在帖子中编辑了HTML,并添加了最初缺少的name
属性。您的HTML和javascript适用于我this jsFiddle,所以如果它不适合您,那是因为您的页面中有其他错误或重复的ID或类似的东西。即便如此,我建议您使用我在下面建议的更简单的形式,因为它更简单,更快速,更安全。
之前的答案在编辑OP之前:
我看不到您要匹配的name
属性。如果您想获取带有select
ID的xyz
代码,请使用此代码:
$("#xyz").hide();
ID在页面中非常独特,因此您可以直接解决它,无需执行所有其他操作即可找到它。如果您按照自己的方式进行操作,因为您的ID在页面中不是唯一的,那么您必须解决这个问题,因为在不同的浏览器中ID会产生不可预测的结果。
答案 1 :(得分:0)
答案 2 :(得分:0)
您的选择标记为xyz。
$('.myClass').find('select#xyz').hide();
或者更好
$('#xyz').hide();
jQuery [attribute=value]选择器搜索特定属性。
jQuery id selector将搜索元素的ID。
答案 3 :(得分:0)
您的选择
中没有名字$('.myClass #xyz').hide();
如果您打算提交该名称,则必须添加该名称。最后,请注意:ID和属性一般不应以数字开头,而应以字母开头。
<div class="myClass">
<select name="xyz" id="xyz">
<option>option1</option>
<option>option2</option>
</select>
<select name="abc" id="abc">
<option>option3</option>
<option>option4</option>
</select>
</div>