javascript - 将整个 div 包含在 <a> 中

标签 javascript jquery html

我有一个 div,我想用 <a href> 包围它.我有 jQuery 来添加 <a href>在 div 之后,但我很难在 div 之前设置它并在 div 之后关闭它。

这是我的 jQuery 代码:

$('.box_service').each(function() {
  var link = $(this).html();
  $(this).contents().wrap('<a href="example.com"></a>');
});

它的结果是这个 HTML:

<div class="row">
  <div class="box_service">
    <a href="example.com">
      <div class="inner-row"></div>
    </a>
  </div>
</div>

但是我的目标是这个结构:

<div class="row">
  <a href="example.com">
    <div class="box_service">
      <div class="inner-row"></div>
    </div>
  </a>
</div>

我之前无法输入 div,因为这一行中有更多框,所以我会添加 <a href>那里的一切

最佳答案

问题是由于您对 contents() 的调用,这意味着您将元素包装在 inside .box_service 中,而不是那个元素本身。删除该方法调用。

另请注意,each() 是多余的,您可以在一行中执行所需的操作:

$('.box_service').wrap('<a href="example.com"></a>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
  <div class="box_service">
    Box service #1
    <div class="inner-row">Inner row #1</div>
  </div>
</div>

<div class="row">
  <div class="box_service">
    Box service #2
    <div class="inner-row">Inner row #2</div>
  </div>
</div>

关于javascript - 将整个 div 包含在 <a> 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54420184/

相关文章:

javascript - useEffect 清理中的observer.unobserve() 抛出参数不是元素类型的错误

php - 用css设计php输出表

jquery - ColorBox 未加载 - 所有 JS 都正确通过

javascript - 如何在同一域的不同页面上运行 Javascript 方法?

javascript - 添加任何额外的 JavaScript 都会破坏 jQuery 模式中的功能

html - 如何应用垂直对齐 : middle at div

javascript - 如何计算页面上进行的 Angular 绑定(bind)的数量

javascript - 无法使用 Jade 模板包含相对路径文件

javascript - 限制 HTML5 textarea 中的行数

javascript - 无法在 prestashop 上创建新帐户