javascript - 是否可以使用 jQuery 隐藏匹配 html 注释上方的元素?

标签 javascript jquery html

我有一种奇怪的用例,我们的博客工具附加了 <!-- Read More -->进入帖子,上面的任何内容都会被推送到我们的列表页面。

我想做的是找到匹配的评论,然后告诉任何<p>其上方的标签(在 DOM 中)应设置为 .hide().remove() 。这是我已经开始的,我不太确定是否可以选择 .prevAll在 HTML 注释上。

var content = $('.main').html();
//search for matching comment
var comment = content.match(/<!--.*?-->/);
alert(comment);
comment.prevAll('p').remove();

You can see my fiddle here.

有什么办法可以完成这个任务吗?

最佳答案

您可以获得过滤 nodeType 并检查特定值的任何注释,例如:

//find read more comment
$('*').contents().filter(function() {
  return this.nodeType === 8 && this.nodeValue.trim() === "Read More"; 
}).prevAll('p').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
  <p>
    jhkdsjhjlasfkdldfasdfd
  </p>
  <div>
    no-hide
  </div>
  <p>
    jhkdsjhjlasfkdldfasdfd
  </p>

  <!-- Read More -->

  <p>
    dfasfsfkljfaskf;sa
  </p>
  <!-- test -->
</div>

关于javascript - 是否可以使用 jQuery 隐藏匹配 html 注释上方的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47439406/

相关文章:

javascript - 在 Mac OSX 上重置 className 后,HTML5 CSS 动画效果不起作用

javascript - React Native 中使用 AsyncStorage 的异步辅助函数

单独线程上的 Javascript 回调函数

javascript - 从数据表错误中的按钮获取数据

PHPDOM : how to edit style in HTML element

html - 列中的文本重叠;列之间的力间距?

jquery - 显示 js 模态不适用于最新的 jQuery 版本

javascript - DHTMLX 甘特图 API

javascript - 使用 AngularJS 导航字符串的 "DOM",就像它是 html 一样

javascript - 如何使用foreach生成的输入进行计算?