如何使用 jquery/php 替换 td 中的值? (文字出版社)

How to replace value in td using jquery/php? (wordpress)

我在下面有一个 html 代码(使用插件创建)。
我需要将 colspan="6" 更改为 colspan="4"。
我在下面试过 jQuery,但它不起作用...
你能帮帮我吗?

<table class="shop_table">
   <thead>
       <tr><th></tr></th>
   </thead>
   <tbody>
    <tr><td class="aa"></td></tr>
    <tr><td class="bb"></td></tr>
    <tr><td class="cc" colspan="6"></td></tr>
   <tbody>
</table>

$('.shop_table').find('td:last-child').contents().filter(function() {
    return this.nodeType===3;
}).remove().end().end().find('colspan="6"').replaceWith($(('colspan="4"'));

谢谢。

使用选择器 [colspan="6"] 您可以访问每个选择器并设置一个新属性:

$('.shop_table [colspan="6"]').each(function() {
  this.setAttribute('colspan', '4');
});
console.log($('table').html());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="shop_table">
   <thead>
       <tr><th></th></tr>
   </thead>
   <tbody>
    <tr class="aa"><td></td></tr>
    <tr class="bb"><td></td></tr>
    <tr class="cc" colspan="6"><td></td></tr>
   <tbody>
</table>

或者,没有 jQuery:

for (const elm of document.querySelectorAll('.shop_table [colspan="6"]')) {
  elm.setAttribute('colspan', '4');
}
console.log(document.querySelector('table').innerHTML);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="shop_table">
   <thead>
       <tr><th></th></tr>
   </thead>
   <tbody>
    <tr class="aa"><td></td></tr>
    <tr class="bb"><td></td></tr>
    <tr class="cc" colspan="6"><td></td></tr>
   <tbody>
</table>

您可以使用 prop()attr(),这两种方法都会循环遍历它们

$('.shop_table td[colspan="6"]').prop('colSpan', 4)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="shop_table" border=1>
   <thead>
       <tr><th>111</th><th>111</th><th>111</th><th>111</th><th>111</th><th>111</th><th>111</th></tr>
   </thead>
   <tbody>
    <tr><td class="aa">222</td></tr>
    <tr><td class="bb">333</td></tr>
    <tr><td class="cc" colspan="6">444</td></tr>
     <tr><td class="aa">222</td></tr>
    <tr><td class="bb">333</td></tr>
    <tr><td class="cc" colspan="6">444</td></tr>
   <tbody>
</table>

嘿,您的问题的简单答案是:

$("table tr:last td[colspan=6]").attr('colspan',4);

我selectTable,然后是最后一个TR,然后是代表你要改的TD。

然后我添加属性colspan 4。

这是一个代码笔,显示它正在工作:https://codepen.io/SweetChillyPhilly/pen/MWJbBPo

这里是 SO 问题,您可以在其中阅读有关此解决方案如何成为的更多信息 Replacing Colspan = "2" with Colspan = "4" using Jquery