Javascript 调用。每个函数
我有一个包含数据行的表:Javascript 调用。每个函数,javascript,jquery,Javascript,Jquery,我有一个包含数据行的表: <tbody> <tr class="rows"> <td><input type="text" name="total" value="3500.00" id="total" class="price"></td> <td>$<input type="text" value="23.00" name="customerS
<tbody>
<tr class="rows">
<td><input type="text" name="total" value="3500.00" id="total" class="price"></td>
<td>$<input type="text" value="23.00" name="customerS" id="customerS" class=""></td>
</tr>
<tr class="rows">
<td><input type="text" name="total" value="3900.00" id="total" class="price"></td>
<td>$<input type="text" value="3446.00" name="customerS" id="customerS" class=""></td>
</tr>
</tbody>
我搞不懂的是如何使用调用函数格式。每个,以便为每个tr(行)调用该格式。请让我知道,谢谢 只需链each()
:
尽管如果参数应该是变量,这取决于tr
元素的某些属性,那么您需要提供更多细节
但是,值得注意的是,您在tr
s中包含的元素中复制了id
s,这是无效的HTML。试试这个
$(".rows").each(function(element){
var curretnRow = $(element);
// apply your function here
});
$(“.rows”)
=>这将获得类名为“Row”的所有TR
.each(function(element){}
=>这将迭代集合中的每个元素,为您提供对“element”变量中当前元素的引用
注意:我可以看到每个TR都有一个元素,它拥有相同的ID,这不是处理重复元素的正确方法。
我认为处理类名并尝试为每个元素拥有唯一的ID应该是拥有可维护代码的第一步
我希望现在对您更清楚,让我知道这是否解决了您的问题。您不应该对多个元素使用相同的id。您可以改用class
<tbody>
<tr class="rows">
<td><input type="text" name="total" value="3500.00" id="total" class="price">
</td>
<td>$<input type="text" value="23.00" name="customerS" class="customerS" class=""></td>
</tr>
<tr class="rows">
<td><input type="text" name="total" value="3900.00" id="total" class="price">
</td>
<td>$<input type="text" value="3446.00" name="customerS" class="customerS" class=""></td>
</tr>
</tbody>
您可以这样做:
$(this).closest('tr').each(function() {...code...});
你不能在元素上使用相同的id。我不理解人们对这个问题投反对票。他是新来的,想问一个为什么投反对票的问题?@Liran这个网站上满是想投反对票而不作解释的脚本小子,纯粹是因为他们不理解,不足以证明这一点。
<tbody>
<tr class="rows">
<td><input type="text" name="total" value="3500.00" id="total" class="price">
</td>
<td>$<input type="text" value="23.00" name="customerS" class="customerS" class=""></td>
</tr>
<tr class="rows">
<td><input type="text" name="total" value="3900.00" id="total" class="price">
</td>
<td>$<input type="text" value="3446.00" name="customerS" class="customerS" class=""></td>
</tr>
</tbody>
jQuery(".customerS").each(function(index, element) {
blah blah...
});
$(this).closest('tr').each(function() {...code...});