我已找出上一个p
的索引,但使用$('p:lt(_index)')
无效。当我用数字替换它时,它可以工作。为什么呢?
$(function() {
var _index = $('p:last').index();
console.log(_index);
$('p:lt(_index)').css('color', 'red');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<p>1</p>
<p>12</p>
<p>123</p>
<p>1234</p>
<p>12345</p>
<p>123456</p>
<p>1234567</p>
<p>12345678</p>
<p>123456789</p>
</div>
答案 0 :(得分:0)
您使用字符串'_index'
作为:lt()
pseudo-class的参数,而不是使用变量的值。这一行:
$('p:lt(_index)').css('color','red');
应该是:
$('p:lt(' + _index + ')').css('color','red');
$(function() {
var _index = $('p:last').index();
console.log(_index);
$('p:lt(' + _index + ')').css('color', 'red');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<p>1</p>
<p>12</p>
<p>123</p>
<p>1234</p>
<p>12345</p>
<p>123456</p>
<p>1234567</p>
<p>12345678</p>
<p>123456789</p>
</div>