javascript - 将表列从一行移动到另一行

标签 javascript jquery

我正在使用在您选择选项后自动生成表单的软件,因此代码是自动生成的,我无法直接编辑它。它为此表单输出的代码位于表格中。我希望金额、单选按钮及其标签都显示在一行中? 因为我不能直接编辑代码,有没有办法用js来做到这一点?可能将所有列移到一行中? 以下是 jsfiddle 输出的基本代码的链接:https://jsfiddle.net/jelane20/Lt36fq6f/1/

    <table class="form">
 <tbody id="panel">
  <tr>
   <td id="field">
    <label id="amount">Amount</label>
   </td>
   <td class="fieldsRight">
    <table id="options">
     <tbody>
      <tr>
       <td class="controlcell">
        <span class="top" item index="51" amount="25.00" >
         <input id="ad_51_6" type="radio">
          <label for="ad_51_6"> </label>
        </span>
       </td>
       <td class="fieldRight">
        <span>$25.00</span>
       </td>
      </tr>
      <tr>
       <td class="controlcell">
        <span class="top" item index="52" amount="50.00">
         <input id="ad_52_6" type="radio">
          <label for="ad_52_6"> </label>
        </span>
       </td>
       <td class="fieldRight">
        <span>$50.00</span>
       </td>
      </tr>
    </tbody>
  </table>
<tbody>
   </td>
  </tr>
 </tbody>
</table>

非常感谢您的帮助!

最佳答案

您可以在 CSS 中添加以下规则:

#options tr {
    display: inline-table;
}

如果你想用 jQuery 达到相同的结果,你可以这样写:

$('#options tr').css('display', 'inline-table');

相反,如果您需要将子表内容移动到上表,您可以:

$('#options tr td').each(function(i, e) {
   $(this).appendTo('table.form tr:first');
});

代码片段(CSS解决方案):

#options tr {
  display: inline-table;
}
<table class="form">
    <tbody id="panel">
    <tr>
        <td id="field">
            <label id="amount">Amount</label>
        </td>
        <td class="fieldsRight">
            <table id="options">
                <tbody>
                <tr>
                    <td class="controlcell">
                        <span class="top" item index="51" amount="25.00">
                            <input id="ad_51_6" type="radio">
                            <label for="ad_51_6"> </label>
                        </span>
                    </td>
                    <td class="fieldRight" >
                        <span>$25.00</span>
                    </td>
                </tr>
                <tr>
                    <td class="controlcell">
                        <span class="top" item index="52" amount="50.00">
                            <input id="ad_52_6" type="radio">
                            <label for="ad_52_6"> </label>
                        </span>
                    </td>
                    <td class="fieldRight">
                        <span>$50.00</span>
                    </td>
                </tr>
                </tbody>
            </table>
    <tbody>
    </td>
    </tr>
    </tbody>
</table>

代码片段(jQuery 解决方案):

$('#options tr td').each(function(i, e) {
  $(this).appendTo('table.form tr:first');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table class="form">
    <tbody id="panel">
    <tr>
        <td id="field">
            <label id="amount">Amount</label>
        </td>
        <td class="fieldsRight">
            <table id="options">
                <tbody>
                <tr>
                    <td class="controlcell">
                        <span class="top" item index="51" amount="25.00">
                            <input id="ad_51_6" type="radio">
                            <label for="ad_51_6"> </label>
                        </span>
                    </td>
                    <td class="fieldRight">
                        <span>$25.00</span>
                    </td>
                </tr>
                <tr>
                    <td class="controlcell">
                        <span class="top" item index="52" amount="50.00">
                            <input id="ad_52_6" type="radio">
                            <label for="ad_52_6"> </label>
                        </span>
                    </td>
                    <td class="fieldRight">
                        <span>$50.00</span>
                    </td>
                </tr>
                </tbody>
            </table>
    <tbody>
    </td>
    </tr>
    </tbody>
</table>

关于javascript - 将表列从一行移动到另一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044761/

相关文章:

javascript - 如何在 javascript 中将相关的 HTML 元素绑定(bind)在一起?

javascript - json 调用后重定向?

javascript - 非重复 jQuery Each 行为

jquery - Grails Datepicker Onchange事件

Jquery 从左向右滑动

javascript - 使用 JQuery 随机显示一个 div 类

javascript - Javascript 对象 "new"关键字有什么区别

javascript - 如何将复杂对象作为参数发送给 JavaScript 函数

php - MySQL数据库同步

jquery - 使用 JsPlumb 创建的图表 - 移动设备的替代品有哪些?