我有:
<div id="d1">
<label>title</label>
<div class="col">
<select id="location.state.id">...</select>
</div>
</div>
基本上,我想禁用/启用<select>
。我有类似的东西:
$("#d1").find("#location.state.id").prop("disabled", true);
它不起作用。我错过了什么?
答案 0 :(得分:1)
问题是,您的id
属性中包含.
的值。
由于.
是类名的CSS选择器,jQuery将查找标识为location
且CSS类state
和id
的项目,而不是ID为location.state.id
的元素。
您必须在\\
之前使用.
在查询选择器中使用它们(在CSS中,只有\
会很好):
$('#d1').find('location\\.state\\.id').prop('disabled', true);
使用任何元字符(例如
!"#$%&'()*+,./:;<=>?@[\]^``{|}~
)作为名称的字面部分,它必须 使用两个反斜杠进行转义:\\
。例如,一个元素id="foo.bar"
,可以使用选择器$("#foo\\.bar")
。
答案 1 :(得分:0)