jQuery选择器按名称获取表单

Osc*_*car 41 jquery jquery-selectors

我有以下内容id:

<form name="frmSave">...</form>
Run Code Online (Sandbox Code Playgroud)

只是要知道,我无法修改form添加frmSave或其他东西,所以我可以轻松地获取form变量中的元素.

这就是我试图form通过它的名字来获取元素:

var frm = $('form[name="frmSave"]');

console.log(frm);
Run Code Online (Sandbox Code Playgroud)

(但我认为这会尝试获取一个名字name里面的子元素,id其中我需要的是错误的).

我怎样才能实现这一目标,是否可以form通过frmSave选择器获得一个?


更新:正如Christian Varga解释说的那样,通过获取子元素,我在源代码中做错了.但是,我把它放在正确的方向,我的坏.

Chr*_*rga 74

$('form[name="frmSave"]')是正确的.你提到过你认为这会让所有孩子frmsave在表格中得到名字; 只有在表单和选择器之间有空格或其他组合子时才会发生这种情况,例如:$('form [name="frmSave"]');

$('form[name="frmSave"]')字面意思是找到所有具有名称的表单frmSave,因为没有涉及组合器.


Aru*_*ngh 9

    // this will give all the forms on the page.

    $('form')

   // If you know the name of form then.

    $('form[name="myFormName"]')

  //  If you don't know know the name but the position (starts with 0)

    $('form:eq(1)')  // 2nd form will be fetched.
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 6

你有没有组合子(空间>,+...),所以没有孩子会动手,直到永远.

但是,您可以通过使用ID和来避免使用jQuery getElementById,或者您可以使用旧的getElementsByName("frmSave")[0]或更旧的document.forms['frmSave'].这里不需要jQuery.