如果我有这段代码:
<div id="one">
<label>first</label>
<select name="area" class="area">
<option selected="selected">First</option>
</div>
<div id="two">
<label>second</label>
<select name="area" class="area">
<option selected="selected">Second</option>
</div>
有可能是这样的吗?
$("#one: .area").change(function() {}
or
$("#two: .area").change(function() {}
它不起作用,有人可以解释原因吗?
答案 0 :(得分:4)
尝试:
<div id="one">
<label>first</label>
<select name="area" class="area">
<option selected="selected">First</option>
</select>
</div>
<div id="two">
<label>second</label>
<select name="area" class="area">
<option selected="selected">Second</option>
</select>
</div>
$("#one select.area").change(function() {}
答案 1 :(得分:3)
删除代码中的:
...
$("#one .area")
关闭选择元素</select>
答案 2 :(得分:3)
这可能是你想要的
$("#one > select.area").change(function() {});
或
$("#two > select.area").change(function() {}
另外请确保结束您的选择标记。您有以下HTML
<div id="one">
<label>first</label>
<select name="area" class="area">
<option selected="selected">First</option>
</div>
应该是
<div id="one">
<label>first</label>
<select name="area" class="area">
<option selected="selected">First</option>
</select> <!-- Note the Ending tag for the select -->
</div>
答案 3 :(得分:2)
是的,但您应该删除选择器中的:
。
$("#one .area").change(function() { alert($(this).val()) });
答案 4 :(得分:2)
您的选择器中还有一个额外的:
,请使用:$("#one .area").change(function() {});
答案 5 :(得分:0)
如果您询问如何选择.area
或#one
的孩子的#two
,那么您几乎可以正确使用它。
$('#one > .area').change(function() {}
>
表示“孩子”,因此您将选择.area
的孩子#one
答案 6 :(得分:0)
您可以将div设置为范围。
$('.area',$(this).parent('div:one')).change(function() {}