jquery获取子元素值

Joe*_*lio 1 javascript jquery

这是一个愚蠢的问题,但我卡住了.为什么我的第一个工作而不是另一个3.从阅读文档,所有4个应该完成工作.我想在一个更大的用例中获取一个表单的元素,在同一页面上可能有其他元素在其他表单或其他div中具有相同的名称,所以第四个选项是我真正想要的工作.但我无法弄清楚为什么所有这些都不起作用.

http://jsfiddle.net/7vF5z/1/

HTML:

 <form id="filter_form_id" name="filter_form" method="get" action="/retrieved_data_records">

 <select id="brand_id" name="brands">
 <option value="0"></option>
 <option value="143272526">Brand1</option>
 <option selected="selected" value="269998788">Brand2</option>
 <option value="330516076">Brand3</option>
 <option value="330516077">Brand4</option>

 </select>
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

 alert ("The val: " +  $('#brand_id').val() );    
 alert ("The val: " +  $('brands').val() );  
 alert ("The val: " +  $('#filter_form_id brands').val() );  
 alert ("The val: " +  $('#filter_form_id > brands').val() );  
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 8

你从哪里获得这些选择器?

  1. $('brands').val()正在寻找它的元素nodeNamebrands(没有人).要检查名称属性,请使用$('[name="brands"]').val()
  2. $('#filter_form_id brands')正在寻找那些nodeNamebrands(没有一个)元素的元素,这些元素的ID是filter_form_id(绝对不是它们)的元素的后代.
  3. $('#filter_form_id => brands')完全无效.如果你想要你想要的子选择器$('#filter_form_id > brands')

有关更完整的文档,请查看可用选择器的jQuery文档.