当前位置: 首页 > 知识库问答 >
问题:

从html字符串文本值[closed]中查找具有相同类名的跨度值

谢选
2023-03-14

如何在javascript或jQuery中获取带有"dx-提及"的span类的data-tive-value?对不起...它应该从html文本字符串抓取,而不是从html页面...

<p>
  <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan">
    <span contenteditable="false">
      <span>@</span>
      AgnesGan
    </span>
  </span> 
  <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK">
    <span contenteditable="false">
      <span>@</span>AK
    </span>
  </span>
</p>

共有3个答案

林君博
2023-03-14

可以使用以下语句

document.querySelector('span.dx-mention').getAttribute('data-mention-value')

如果有多个“span”元素,则可以使用querySelectorAll并循环该方法返回的节点。

蓝飞
2023-03-14

你可以这样做:

$('.dx-mention').map(function() {
  return $(this).attr("data-mention-value")
}).get()

这将返回类选择的两个跨度,并获取它们的数据值。

演示

var string = `<p><span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan"><span contenteditable="false"><span>@</span>AgnesGan</span>
  </span> <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK"><span contenteditable="false"><span>@</span>AK</span>
  </span>
</p>`

var log = $('.dx-mention', string).map(function() {
  return $(this).attr("data-mention-value")
}).get()
console.log(log)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
楚意
2023-03-14

使用dx-title类访问每个跨度的数据集属性。使用querySelectorAll拾取span元素,然后对其进行迭代。

dataset返回一个对象。但是,由于连字号属性的处理方式,您需要以提及值为目标,而不是提及值

const spans = document.querySelectorAll('.dx-mention');

spans.forEach(span => {
  console.log(span.dataset);
  console.log(span.dataset.mentionValue);
});
<p>
  <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AgnesGan" data-id="AgnesGan">
<span contenteditable="false">
<span>@</span>AgnesGan</span>
  </span>
  <span class="dx-mention" spellcheck="false" data-marker="@" data-mention-value="AK" data-id="AK">
<span contenteditable="false">
<span>@</span>AK</span>
  </span>
</p>
 类似资料:
  • 问题内容: 我在Ubuntu上,我想在当前目录和子目录中找到名称包含字符串“ John”的所有文件。我知道可以匹配文件中的内容,但是我不知道如何在文件名中使用它。任何帮助,将不胜感激。 问题答案: 使用find命令,

  • 在我的程序中,我得到以下返回组名的字符串: 有时甚至更多的组名: 所以我有了所有组的名称,但它们之间用逗号隔开,嵌套在文本中。 如何从引号之间的字符串中获得所有单词? 我想把下面的组名从上面的字符串写到一个数据帧中,例如: 当前1 断开扭矩 压力 有人知道怎么做吗?

  • 问题内容: 我一直在尝试使用elasticsearch过滤仅在正文中包含空字符串的那些文档。到目前为止,我还没有运气。 在继续之前,我要提到的是,我已经尝试过遍及Interwebz和StackOverflow 的 许多 “解决方案”。 因此,以下是我要运行的查询,其后是对应的查询: 我也尝试了以下方法: 以及以下内容: 以上都不起作用。当我确定有包含空字符串字段的记录时,我得到一个空结果集。 如果

  • 问题内容: 在[成员]表中,某些行的列值相同。 有些人使用了不同的login_id,但是使用了相同的电子邮件地址,因此在此列上未设置唯一约束。现在,我需要查找这些行,并查看是否应将其删除。 我应该使用什么SQL语句查找这些行?(MySQL 5) 问题答案: 此查询将为您提供电子邮件地址及其使用次数的列表,最常用的地址在前。 如果要完整行:

  • 问题内容: 我试图找到具有重复值,但仅基于选定的列数,而不是单个列或整个行的行。例如,如果我的表如下所示: 我的问题是: 查找行的“地址和状态”字段与另一行的“地址和状态”字段匹配的行的所有ID。 该查询的答案将是: 有任何想法吗? 意见建议: 如何从单个表中选择同一行中的多列值 问题答案: 请尝试以下方法:

  • 问题内容: 我有这样的桌子 我想获得具有相同发明编号的订单数量总和 那就是想要这样的结果 我们如何编写mysql查询 问题答案: 利用聚合函数并根据进行分组。 GROUP BY子句