jQuery 如果存在 val,则将 class 添加到输入的 parent TD
jQuery append class to parent TD of input if val is present
与标题差不多;我正在尝试将图标添加到 Woocommerce 中的运输选择,因为有时会在页面加载时填写表格。我创建了这个
$(document).ready( function () {
$('.shipping_method').each( function () {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
这不起作用,我不确定为什么。
另外一点是,送货方式值可以根据在表单上方输入的信息进行更改。那么像下面这样的东西可以吗?
$(document).ready( function () {
$('.shipping_method').each( function () {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
$(document).ready( function () {
$('.shipping_method').change(function() {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
我猜不是,因为它基本上是在做以前做过的事情,只是在其中添加了一个 .change() 。任何帮助将不胜感激。
谢谢。
编辑:根据要求,Woocommerce 结帐中与运输方式相关的 HTML:
<tr class="shipping">
<th>Shipping and Handling</th>
<td>
UPS Next Working Day (Free) <input type="hidden" name="shipping_method[0]" data-index="0" id="shipping_method_0" value="table_rate_shipping_freship" class="shipping_method">
</td>
</tr>
$("input[value='table_rate_shipping_freship']").parent().addClass('shipups');
试试这个。它会将 class 添加到父 td
发布的答案工作正常,
但是如果你需要一些通用的东西,给你:)
function addCustomClass(target, className, valueToCheck) {
$("input[value='" + valueToCheck + "']").closest(target).addClass(className);
}
用法:
addCustomClass('td', 'shipups', 'table_rate_shipping_freship');
与标题差不多;我正在尝试将图标添加到 Woocommerce 中的运输选择,因为有时会在页面加载时填写表格。我创建了这个
$(document).ready( function () {
$('.shipping_method').each( function () {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
这不起作用,我不确定为什么。 另外一点是,送货方式值可以根据在表单上方输入的信息进行更改。那么像下面这样的东西可以吗?
$(document).ready( function () {
$('.shipping_method').each( function () {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
$(document).ready( function () {
$('.shipping_method').change(function() {
$this = $(this).closest('td');
if ( this.value = 'table_rate_shipping_freship' ) $this.addClass('shipups');
});
});
我猜不是,因为它基本上是在做以前做过的事情,只是在其中添加了一个 .change() 。任何帮助将不胜感激。
谢谢。
编辑:根据要求,Woocommerce 结帐中与运输方式相关的 HTML:
<tr class="shipping">
<th>Shipping and Handling</th>
<td>
UPS Next Working Day (Free) <input type="hidden" name="shipping_method[0]" data-index="0" id="shipping_method_0" value="table_rate_shipping_freship" class="shipping_method">
</td>
</tr>
$("input[value='table_rate_shipping_freship']").parent().addClass('shipups');
试试这个。它会将 class 添加到父 td
发布的答案工作正常, 但是如果你需要一些通用的东西,给你:)
function addCustomClass(target, className, valueToCheck) {
$("input[value='" + valueToCheck + "']").closest(target).addClass(className);
}
用法:
addCustomClass('td', 'shipups', 'table_rate_shipping_freship');