【问题标题】:How to replace value in td using jquery/php? (wordpress)如何使用 jquery/php 替换 td 中的值? (wordpress)
【发布时间】:2021-06-26 01:56:58
【问题描述】:

我在下面有一个 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"'));

谢谢。

【问题讨论】:

    标签: php jquery wordpress html-table


    【解决方案1】:

    使用选择器[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>

    【讨论】:

    • 非常感谢您的帮助。我复制并粘贴了代码,但它对我不起作用。我是一个完整的初学者我很抱歉,但你能告诉我为什么吗? i.imgur.com/ff8eN8u.jpg
    • 它在这里工作得很好 - 按“运行代码 sn-p”,你会看到它根据需要替换了属性。如果这还不够,请将minimal reproducible example 编辑到演示问题的问题中
    • 会不会是因为console.log($('table').html());?我的页面不是 .html 它是 .php .. 我不确定...
    • console.log($('table').html()); 仅存在于实时 sn-p 中,以证明代码按预期工作。您可以在实际代码中删除它。但是不,您所在页面的扩展与此无关。
    • 哦..我明白了。谢谢你。我删除它并尝试运行它。它显示错误“Uncaught ReferenceError: $ is not defined”..我不确定这是什么意思..很抱歉打扰你,但你能帮帮我吗?
    【解决方案2】:

    您可以使用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>

    【讨论】:

      【解决方案3】:

      嘿,你的问题的简单答案是这样的:

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

      我选择表格,然后是最后一个 TR,然后是代表您要更改的 TD。

      然后我添加属性 colspan 4.

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

      这里是 SO question,您可以在其中详细了解该解决方案是如何形成的 Replacing Colspan = "2" with Colspan = "4" using Jquery

      【讨论】:

      • 乐于助人,有空时别忘了点赞!
      • 我投了赞成票,它显示“感谢您的反馈!声望低于 15 人的投票将被记录,但不要更改公开显示的帖子得分。”
      • 我会帮你的。享受
      猜你喜欢
      • 2022-07-25
      • 2021-08-10
      • 1970-01-01
      • 2016-02-04
      • 2015-08-16
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多