Javascript 动态生成的div中特定类的跨度数

Javascript 动态生成的div中特定类的跨度数,javascript,jquery,Javascript,Jquery,假设我有许多动态生成的div,它们包含文本。每个div都有一个唯一的id,该id也是动态生成的,例如 <div id="abstract_12345"> ... text ...</div> 。。。文本。。。 现在,在这些div中有一个特定类型的跨度,它是根据正则表达式动态生成的,例如,当遇到“重要”一词时,它被标记为 <span class="emphasis">significant</span> 重要 这是通过 javascript

假设我有许多动态生成的div,它们包含文本。每个div都有一个唯一的id,该id也是动态生成的,例如

<div id="abstract_12345"> ... text ...</div> 
。。。文本。。。
现在,在这些div中有一个特定类型的跨度,它是根据正则表达式动态生成的,例如,当遇到“重要”一词时,它被标记为

<span class="emphasis">significant</span>
重要
这是通过


javascript函数支持计算每个div内的跨度,目的是将计数值放在与该div关联的元素中,对此有什么建议

使用jQuery,您可以执行以下操作:

$('div[id^=“abstract"])。每个(函数(){
变量$this=$(this),
len=$this.find('span.emphasis').length;
log($this.attr('id'),len);
});
div{margin:015px 0;}
span.emphasis{颜色:红色;}

Lorem ipsum dolor sit amet,奉献精英。智慧的动物,化名为harum aut est unde voluptates repudiandae vel molestias importional,officia!Illum dolore pariatur sequi magnam-minus,流动资产管理局,quaerat sint quam commodi。

Lorem ipsum dolor sit amet,奉献精英。智者是动物,别名为“动物之父”和“动物之父”!Illum dolore pariatur sequi magnam-minus,流动资产管理局,quaerat sint quam commodi.
如果我正确理解您的愿望,这应该可以实现

$('id*="abstract_"').each(function() {
  var amount = $(this).find('span.emphasis').length;

  $(this).prepend(amount);
});

如果您想使用纯Javascript

function myFunction() {
    var i;
    var x = document.querySelector("[id^=abstract_]").querySelectorAll("span");
    for (i = 0; i < x.length.i++){
        x[i].id = i;
    }
}
函数myFunction(){
var i;
var x=document.querySelector(“[id^=abstract_u3;]”).queryselectoral(“span”);
对于(i=0;i

此代码将向每个
span
添加
id
,作为
id=abstract_12345

的div内
span
的索引。OP说他有多个生成id的div。@dfsq感谢您的评论。通过
div
s更新了count
span.的答案,并使用类似的动态生成idsOP表示div id是动态生成的generated@djsq:你建议了一个基于css的解决方案-你能再把它贴出来吗。