我正在尝试使用.item
中的值替换array
中的所有标题。这是数组:
var itCats = ['one', 'two', 'three', 'four'];
和html:
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
尝试了这个,但我发现了脚本错误并且浏览器已关闭。
for (var i = itCats.length; i--;) {
//arr[i] = '#' + arr[i];
for (var i = 0; i < $(".item").length; i++) {
$(".item p').html('itCats[i]);
}
}
答案 0 :(得分:2)
其中一个错误在于:
$(".item p').html('itCats[i]);
你搞乱了引号,应该如下:
$('.item p').html(itCats[i]);
。
答案 1 :(得分:1)
代码中的各种错误
"
开头,以'
结尾,使其正确为".item p"
或'.item p'
$(".item p")
选择使用 eq(i)
的所有元素来使用索引获取特定元素。html()
方法中不必要的'
。
var itCats = ['one', 'two', 'three', 'four'];
for (var i = itCats.length; i--;) {
$(".item p").eq(i).html(itCats[i]);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
您可以使用 html()
使用内部遍历元素的回调更简单。
var itCats = ['one', 'two', 'three', 'four'];
$('div.item p').html(function(i) {
return itCats[i];
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
答案 2 :(得分:1)
您可以使用一个each()
循环
var itCats = ['one', 'two', 'three', 'four'];
$('.item').each(function(i) {
$(this).find('p').text(itCats[i])
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
答案 3 :(得分:1)
您可以使用.text()
回调函数来访问元素索引并从数组返回所需的值以设置为新文本:
$('.item p').text(function(i){
return itCats[i];
})
var itCats = ['one', 'two', 'three', 'four'];
$('.item p').text(function(i){
return itCats[i];
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
答案 4 :(得分:1)
你搞砸了几声。结果最简单的解决方案是each
循环,并通过回调使用index
。
$('.item p').each(function(index) {
$(this).text(itCats[index]);
});
var itCats = ['one', 'two', 'three', 'four'];
$('.item p').each(function(index) {
$(this).text(itCats[index]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
您甚至可以使用text
或html
:
$('.item p').text(function(index) {
return itCats[index];
});
var itCats = ['one', 'two', 'three', 'four'];
$('.item p').text(function(index) {
return itCats[index];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
或者显示另一种解决方案,如箭头功能:
$('.item p').text(i => itCats[i]);
var itCats = ['one', 'two', 'three', 'four'];
$('.item p').text(i => itCats[i]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item it1">
<p>title 1</p>
</div>
<div class="item it2">
<p>title 2</p>
</div>
<div class="item it3">
<p>title 3</p>
</div>
<div class="item it4">
<p>title 4</p>
</div>
&#13;
答案 5 :(得分:-2)
你可能有一些关于单引号的错字&amp;行def antisymmetric(A):
for i in range(3):
for j in range(3):
if A[i][j] != -A[j][i]:
return False
return True
您可以利用jQuery $(".item p').html('itCats[i]);
来获取元素索引