jquery - 从主容器中获取所有 h2 文本,将它们显示在侧边栏中

标签 jquery css

我发誓我的代码是正确的,但它似乎不起作用。这是我的 fiddle : https://jsfiddle.net/py5cvpmz/1/

这是 jQuery 代码:

var searchArea = $('main');
var blockArea = $('.sidebar .container');
var blockDynamic = $('.block-dynamic ul');
var items = [];
var title;

blockArea.append('<div class="sidebar-item block-dynamic"><p>Sidebar menu</p><ul></ul></div>');

searchArea.find('h2').each(function(e) {
  title = $(this).text();
  items.push(title);
});

    $.each(items, function(i, val) {
      // When I use a console.log here to output 'val', it works fine
      blockDynamic.append('<li class="item-' + i + '">' + val + '</li>');
    });

最佳答案

您正在缓存 blockDynamic,然后再将其引用的元素附加到 blockArea。要查看您的代码是否有效,请在附加调用之后移动 blockDynamic 的声明。

var searchArea = $('main');
var blockArea = $('.sidebar .container');
blockArea.append('<div class="sidebar-item block-dynamic"><p>Sidebar menu</p><ul></ul></div>');

var blockDynamic = $('.block-dynamic ul');

searchArea.find('h2').each(function(i, e) {
  var title = $(this).text();
  blockDynamic.append('<li class="item-' + i + '">' + title + '</li>');
});
main {
  width: 300px;
  float: left;
  height: auto;
  padding: 20px;
  background-color: #ccc;
}

main h2 {
  width: 100%;
  text-align: center;
}

.sidebar {
  float: left;
  width: 200px;
  margin-left: 20px;
  background-color: #333;
}

.sidebar .container {
  width: 100%;
  height: auto;
  color: #fff;
  padding: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">


</script>
<main>
  <h2>
this is a test h2
</h2>
  <h2>
this is another test h2
</h2>
  <h2>
this is, once again, a test h2
</h2>
  <h2>
this is the last test h2
</h2>
</main>
<div class="sidebar">
  <div class="container">
    <!-- Here I want all the H2 titles as menu items -->
  </div>
</div>

关于jquery - 从主容器中获取所有 h2 文本,将它们显示在侧边栏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39895422/

相关文章:

javascript - 如何为特定时间的元素设置背景颜色?

jquery - 在jquery中获取模型值

javascript - 如何在包含内容的新选项卡中打开自定义 URL?

css - "img"中 "a"的中间垂直对齐

html - 使用 Twig 将自定义 HTML 附加到与 form_row 相同的 div

css - 如何右对齐 +1 按钮?

php - 使用 knockout.js 和 php 检查输入

jquery - 如何使用 jQuery 选择没有特定类名的元素?

css - 多背景css3动画

html - 仅使用 CSS 滚动时如何将固定 slider 移动到顶部