jQuery向后选择
Posted
技术标签:
【中文标题】jQuery向后选择【英文标题】:jQuery backward selection 【发布时间】:2011-09-01 21:34:12 【问题描述】:我有一个表单,我正在使用它来选择它的单选按钮:
$('form[id^="form-"]').find("input:radio");
但是当我在它上面使用一个函数时,我必须使用this
(这样我才能知道该函数是从哪个形式触发的)并且this
给了我form > radio-button
。如何使用this
获取表单ID?
【问题讨论】:
【参考方案1】:最简单、最有效的方法是访问相关元素的form
属性:
alert(this.form.id);
【讨论】:
@lonesomeday:IE 至少从 5.5 开始就支持它,它在 DOM 1 级规范中定义。 @lonesomeday:找到了规范中定义的链接 - w3.org/TR/DOM-Level-1/level-one-html.html#ID-6043025【参考方案2】:要从输入遍历到其包含的表单并获取 id,您可以使用:
$(this).closest('form[id^="form-"]').attr("id");
http://api.jquery.com/category/traversing/
【讨论】:
【参考方案3】:如果this
是一个子元素,就这样做:
var form_id = $(this).parent().get(0).id;
//or
var form_id = $(this).parent().attr('id');
【讨论】:
【参考方案4】:$(this).parent().attr('id');
parents()
是因为我不知道输入是否是表单的直接后代。
【讨论】:
ahhhh 如果是直子不要使用parents
!
form > radio-button
=== 直子以上是关于jQuery向后选择的主要内容,如果未能解决你的问题,请参考以下文章