Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery/Javascript等价于CSS计数器?_Javascript_Jquery_Html_Css - Fatal编程技术网

jQuery/Javascript等价于CSS计数器?

jQuery/Javascript等价于CSS计数器?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,是否可以使用jQuery/Javascript实现直接更改标记文本的计数器?例如,如果我有两个标签: <a>hello</a> <a>bye</a> 你好 再见 运行jQuery/JS函数后,会发生以下情况: <a>[1]hello</a> <a>[2]bye</a> [1]您好 [2] 再见 我不能使用CSS计数器,因为我需要脚本来直接编辑HTML。您可以使用.HTML(函数) $(“a”

是否可以使用jQuery/Javascript实现直接更改标记文本的计数器?例如,如果我有两个标签:

<a>hello</a>
<a>bye</a>
你好 再见 运行jQuery/JS函数后,会发生以下情况:

<a>[1]hello</a>
<a>[2]bye</a>
[1]您好
[2] 再见
我不能使用CSS计数器,因为我需要脚本来直接编辑HTML。

您可以使用
.HTML(函数)

$(“a”).html(函数(索引,html){
返回“[”+(索引+1)+“]”+html;
})

你好

再见
您可以循环浏览所有锚,并使用
.prepend()
将索引添加到内容中:

希望这有帮助

$(“a”)。每个函数(索引、值){
$(this.prepend(“[”+(index++)+”]);
})

你好
再见
使用此代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<a>hello</a>
<a>bye</a>

<script>
$("a").html(function(index, data) {
  return "[" + (index + 1) + "]" + data;
})
</script>

你好
再见
$(“a”).html(函数(索引、数据){
返回“[”+(索引+1)+“]”+数据;
})

对于纯JS,您可以使用创建文本节点并将其作为第一个子节点插入以获取计数器-请参见下面的演示:

Array.prototype.forEach.call(document.queryselectoral(“a”),函数(e,i){
e、 insertBefore(document.createTextNode(`[${i+1}]`),e.childNodes[0]);
});
你好

再见
对于每个元素,设置文本,然后增加数字。因此选择元素,循环并添加文本??为什么需要
。each()
.html()
迭代jQuery对象的所有元素。这是OP问题的另一个解决方案:)答案
javascript
at与
javascript
at有何不同?@user7354735请不要重复答案。这不是重复答案,我只是想指出适合放置jQuery函数的地方,别跟我打架,这是一个简单而常见的脚本,不能用多种方式编写,将
html
更改为
data
应该有什么不同?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<a>hello</a>
<a>bye</a>

<script>
$("a").html(function(index, data) {
  return "[" + (index + 1) + "]" + data;
})
</script>