首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将elem追加到父标记之前

将elem追加到父标记之前
EN

Stack Overflow用户
提问于 2018-04-16 20:35:52
回答 2查看 37关注 0票数 0

我使用JQuery 3.2.1,并希望在单元格前面附加一个具有特定值的表列。

最终结果应该如下所示:

下面是我简单可行的例子:

代码语言:javascript
复制
const targetButton = $(".btn.btn-primary.btn-sm.motherboard")
targetButton.append(`
        <td>
            <img src="" alt="" height="42" width="42">
            <a href="">
                Test Title
            </a>
        </td>    
        `)
代码语言:javascript
复制
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="float: left;" class="table table-bordered">
  <tbody>
    <tr>
      <td>CPU</td>
      <td>
        <button type="button" data-exists="cpu" class="btn btn-primary btn-sm cpu">
                                            Add CPU
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Motherboard</td>
      <td>
        <button type="button" data-exists="motherboard" class="btn btn-primary btn-sm motherboard">
                                            Add Motherboard
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Graphic Card</td>
      <td>
        <button type="button" data-exists="graphic-card" class="btn btn-primary btn-sm graphic-card">
                                            Add Graphic Card
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Power Supply&nbsp;</td>
      <td>
        <button type="button" data-exists="power-supply" class="btn btn-primary btn-sm power-supply">
                                            Add Power Supply
                                        </button>
      </td>
    </tr>
    <tr>
      <td>More Parts&nbsp;</td>
      <td>
        <button type="button" data-exists="more-parts" class="btn btn-primary btn-sm more-parts">
                                            Add More Parts
                                        </button>
      </td>
    </tr>
  </tbody>
</table>

如您所见,标签直接插入到按钮中。在我的整个Javascript应用程序的运行时,我只将按钮作为可用的选定元素。

如何在按钮的父元素之前添加append函数中的代码?

谢谢你的回复!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-16 20:43:56

@CertainPerformance answer是对的。这是一个jquery解决方案。使用.closest()insertBefore()

代码语言:javascript
复制
const targetButton = $(".btn.btn-primary.btn-sm.motherboard").closest('td');
$('<td><img src="" alt="" height="42" width="42"><a href="">Test Title</a></td>').insertBefore(targetButton);
代码语言:javascript
复制
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="float: left;" class="table table-bordered">
  <tbody>
    <tr>
      <td>CPU</td>
      <td>
        <button type="button" data-exists="cpu" class="btn btn-primary btn-sm cpu">
                                            Add CPU
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Motherboard</td>
      <td>
        <button type="button" data-exists="motherboard" class="btn btn-primary btn-sm motherboard">
                                            Add Motherboard
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Graphic Card</td>
      <td>
        <button type="button" data-exists="graphic-card" class="btn btn-primary btn-sm graphic-card">
                                            Add Graphic Card
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Power Supply&nbsp;</td>
      <td>
        <button type="button" data-exists="power-supply" class="btn btn-primary btn-sm power-supply">
                                            Add Power Supply
                                        </button>
      </td>
    </tr>
    <tr>
      <td>More Parts&nbsp;</td>
      <td>
        <button type="button" data-exists="more-parts" class="btn btn-primary btn-sm more-parts">
                                            Add More Parts
                                        </button>
      </td>
    </tr>
  </tbody>
</table>

票数 1
EN

Stack Overflow用户

发布于 2018-04-16 20:39:18

首先选择目标按钮的父元素:

代码语言:javascript
复制
const targetButton = $(".btn.btn-primary.btn-sm.motherboard")
const targetButtonParent = targetButton[0].parentElement;
targetButtonParent.insertAdjacentHTML('beforebegin', `
        <td>
            <img src="" alt="" height="42" width="42">
            <a href="">
                Test Title
            </a>
        </td>    
        `)
代码语言:javascript
复制
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table style="float: left;" class="table table-bordered">
  <tbody>
    <tr>
      <td>CPU</td>
      <td>
        <button type="button" data-exists="cpu" class="btn btn-primary btn-sm cpu">
                                            Add CPU
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Motherboard</td>
      <td>
        <button type="button" data-exists="motherboard" class="btn btn-primary btn-sm motherboard">
                                            Add Motherboard
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Graphic Card</td>
      <td>
        <button type="button" data-exists="graphic-card" class="btn btn-primary btn-sm graphic-card">
                                            Add Graphic Card
                                        </button>
      </td>
    </tr>
    <tr>
      <td>Power Supply&nbsp;</td>
      <td>
        <button type="button" data-exists="power-supply" class="btn btn-primary btn-sm power-supply">
                                            Add Power Supply
                                        </button>
      </td>
    </tr>
    <tr>
      <td>More Parts&nbsp;</td>
      <td>
        <button type="button" data-exists="more-parts" class="btn btn-primary btn-sm more-parts">
                                            Add More Parts
                                        </button>
      </td>
    </tr>
  </tbody>
</table>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49865813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档