JQuery同一类的不同内容
JQuery different content for the same class
我的html中有10个<p>
标签,类别为.rule
我想单独更改它们的文本,而不使用单独的id,如#rule1
、#rule2
、#rule3
:
$('#rule1').text('Rule 1')
$('#rule2').text('Rule 2')
$('#rule3').text('Rule 3')
我只想在JQuery中选择一个类,但它可以编辑具有相同类的其他<p>
标记的文本。
我该怎么做?
试试这个:-
$('p.rule').each(function( index ) {
$(this).text("Rule" + (index + 1));
});
Fiddle
单据
您可以为text()
方法提供一个函数,该函数将单独作用于每个p
标记,而无需对each()
进行另一个方法调用。提供给函数的参数之一是匹配集中元素的索引。因此,您可以只返回附加到字符串的索引,如下所示:
$('p').text(function(i) {
return 'Rule ' + (i + 1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
$('.foo').each(function( index ) {
$(this).text("bar " + index);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>
您可以使用循环来迭代DOM对象。
看看这个https://api.jquery.com/each/
这比使用每个的索引更安全,因为它采用相对于兄弟的索引
$('p.rule').text(function() {
return 'Rule ' + ($(this).index(".rule")+1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="rule"></p>
<p class="notrule">Not a rule</p>
<p class="rule"></p>
<p class="rule"></p>
<p class="rule"></p>
如果你想对它进行硬编码,那么你可以使用.eq()
var rules = $(".rule");
rules.eq(0).text('Rule 1');
rules.eq(1).text('Rule 2');
rules.eq(2).text('Rule 3');
另一种选择是使用.each(function)
在集合上循环
var rules = $(".rule");
rules.each( function (index) {
$(this).text('Rule ' + index);
});
或使用具有功能的.text(function)
进行循环
var rules = $(".rule");
rules.text( function (index) {
return 'Rule ' + index;
});
只需使用以下代码循环遍历每个p标记。如果你清楚地知道应该如何处理p标签,那么这是好的,否则你需要使用单独的Id或依赖于你的p标签出现的顺序。
$('p.rule').each(function( index ) {
$(this).html("P with index" + (index) );// you can accordingly add html or any other jquery operation based on order/index of your p tag
});
使用此:
$('p').each(function( index ) {
$(this).text('Rule ' + (index + 1));
});
您可以使用rowIndx。
var rowIndx = this.id.substring(this.id.length,this.id.length - 1 );
$("p.rule"+rowIndx).each(function(i){
$(this).text("rule" + (i+1));
});
相关文章:
- 在jQuery中为同一类选择器分配不同的值
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- jQuery-如何从同一类中隐藏的输入id中获取不同的值
- 检查同一类的所有输入值是否为空jquery
- JQuery同一类的不同内容
- jQuery删除多个Id上的同一类's
- 在同一类 JQUERY 的不同时间触发事件
- jQuery 验证 - 比较同一类的值
- jQuery .text() 在同一类中的多个元素上
- 如何使下拉菜单关闭,因为同一类的另一个下拉菜单在jquery / javascript中打开
- 如何使用jquery获取同一类的多个复选框的值
- jQuery Validation-同一类的NotEqual Validation
- 如何使用jQuery在Nightmare中获取同一类的href链接
- 如何使用任一类jquery搜索父级
- 如何从 jquery 中属于同一类成员的元素中获取所有不同的值
- 只在
- 的第一个子元素上应用JQuery属于某一类的
- 如何通过jQuery获取同一类的所有值,并插入数组和循环计数在jQuery中是不正确的
- jquery函数用于同一类的多个按钮事件
- 在jquery中选择和修改同一类的特定项
- 同一类的多个项目,如何用jQuery区分它们