现在我正在使用以下代码从html表单中提取操作:
var path = button.parent().parent().attr("action");
它有效,但.parent().parent()
非常脆弱。如果我在这个和表单之间插入一个新标签怎么办?它会破坏我的代码的功能。对此更安全的替代方案是什么?
答案 0 :(得分:5)
答案 1 :(得分:1)
HTML中唯一可以拥有action属性的元素是表单。在HTML中,表单不能包含其他表单。因此,您希望找到作为按钮祖先的表单。
jQuery有一种方法可以找到名为parents
的祖先元素(我不知道为什么它不被称为ancestors
)。这需要一个选择器,以便您可以过滤它。
button.parents('form').attr('action')
答案 2 :(得分:0)
您还可以使用form
对象的HTMLButtonElement
属性:
// property
var path = button.prop('form').action;
// attribute
var path = button.prop('form').getAttribute('action');