我继承了一个项目,它向客户提供订单。无法使用jquery选择表单
订单是一个表格,并且添加到购物车是(意味着!)用jQuery处理。
代码我有一个看起来像这样的工作:
<table>
<form id="prod1" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod1qty" id="prod1qty" /></td><td><input type="button" id="prod1add" /></td>
<tr>
</form>
<form id="prod2" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod2qty" id="prod2qty" /></td><td><input type="button" id="prod2add" /></td>
<tr>
</form>
<form id="prod3" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod3qty" id="prod3qty" /></td><td><input type="button" id="prod3add" /></td>
<tr>
</form>
</table>
我想选择所有的输入型形式中=“按钮”元素与ID的起点“刺”与jQuery,所以我可以给他们点击功能...
$("form[id^='prod'] :input[type='button']").click(function(){
console.log(this);
});
但它的失败......我想看看它是否是由具有的.css更换。点击()(“边界”,“1px的红色实”)到达元素但它并没有采用它。
我则在该<form>
是灰显萤火虫注意到,收在同一行,即:
<form id="prod1" method="post" action="" />
<tr>
<td>Prod Name</td><td><input type="text" name="prod1qty" id="prod1qty" /></td><td><input type="button" id="prod1add" /></td>
<tr>
<form id="prod2" method="post" action="" />
<tr>
<td>Prod Name</td><td><input type="text" name="prod2qty" id="prod2qty" /></td><td><input type="button" id="prod2add" /></td>
<tr>
看来这个代码是有效的HTML(把它通过验证),所以为什么发生这种情况?
谢谢! Josh
你错了。这不是有效的HTML。表单元素可能不是表行或表行的父元素的子元素。 – Quentin
啊,好的。刚刚摆脱了形式,给了'tr'''形式'曾经有过的id,在选择器及其工作中将'form'更改为'tr'。谢谢! 我猜测验证器只检查有效的语法和结构的有效性。 – Josh