我试图通过名称在<p>
中选择一个<div>
,但它返回0个结果。相同类型的选择适用于<input>
和<span>
,但不适用于<select>
和<div>
。下面的代码演示了我的意思:jquery查找div或按名称选择返回0结果
<html>
<head>
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
</head>
<body>
<p id="foo">
<input type="text" name="tl-label" />
<select name="tl_type">
<option value="select_type">Select type</option>
<option value="field">Field</option>
<option value="text">Text label</option>
<option value="flag_set">Flag set</option>
</select>
<span name="manip-links">
<a name="move_up" href="#">[move up]</a>
<a name="move_down" href="#">[move down]</a>
<a name="delete" href="#">[delete]</a>
</span>
<div name="field-params">
field params
</div>
<div name="text-params">
text params
</div>
<div name="flag-set-params">
flag set params
</div>
</p>
</body>
<script type="text/javascript" language="JavaScript">
<!--
var foo = $('#foo');
foo.tl_label = foo.find('input[name=tl-label]');
foo.tl_type = foo.find('select[name=tl-type]');
foo.manip_links = foo.find('span[name=manip-links]');
foo.field_params = foo.find('div[name=field-params]');
foo.text_params = foo.find('div[name=text-params]');
foo.flag_set_params = foo.find('div[name=flag-set-params]');
$('body').append('<p>' +
'tl_label: ' + foo.tl_label.size() + '<br/>' +
'tl_type: ' + foo.tl_type.size() + '<br/>' +
'manip_links: ' + foo.manip_links.size() + '<br/>' +
'field_params: ' + foo.field_params.size() + '<br/>' +
'text_params: ' + foo.text_params.size() + '<br/>' +
'flag_set_params: ' + foo.flag_set_params.size() + '<br/>' +
'</p>');
//-->
</script>
</html>
底部附加的痕迹读取(在Firefox 3.5.6):
tl_label:1
tl_type:0
manip_links:1个
field_params :0
text_params:0
flag_set_params:0
他们都应该阅读1.什么我缺少什么?
您应该选择短划线('-')**或**下划线('_')作为单词分隔符,因为两者似乎都使您感到困惑。 – 2010-02-08 17:00:10