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,因为没有涉及组合器.
// 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)
你有没有组合子(空间>,+...),所以没有孩子会动手,直到永远.
但是,您可以通过使用ID和来避免使用jQuery getElementById,或者您可以使用旧的getElementsByName("frmSave")[0]或更旧的document.forms['frmSave'].这里不需要jQuery.