我是一个jQuery,所以如果质量不高,请原谅我。
我想知道index
在函数中的含义以及它究竟指的是什么。以前我认为它指的是像0,1,2,3等索引号,但当我通过1,2,3代替索引时,我的代码停止工作。我检查了它的类型,它显示了number
数据类型。
现在让我告诉我究竟是什么错误以及jQuery中的索引和元素的概念,因为大多数地方我发现了这样的东西 -
function(e){
}
我的工作代码 -
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Example</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$( 'li' ).html(function( index, oldHtml ) {
//alert(typeof($(this).index()));
return oldHtml + '!!!'
});
});
</script>
</head>
<body>
<ul>
<li>This is List item 1</li>
<li>This is List item 2</li>
<li>This is List item 3</li>
<li>This is List item 4</li>
<li>This is List item 5</li>
</ul>
</body>
</html>
我的尝试 -
$( 'li' ).html(function( 3, oldHtml ) {....
$( 'li' ).html(function( "3", oldHtml ) {....
$( 'li' ).eq(3).html(function( "3", oldHtml ) {......
答案 0 :(得分:4)
index
参数表示匹配集合中元素的索引。你不应该将值传递给它。它是一个传递给匿名函数的参数,你可以在里面使用它来确切知道在需要时调用这个匿名函数的元素:
$( 'li' ).html(function( index, oldHtml ) {
return 'new html ' + index;
});
索引基于零,因此结果为:
<li>new html 0</li>
<li>new html 1</li>
<li>new html 2</li>
<li>new html 3</li>
<li>new html 4</li>
答案 1 :(得分:1)
index表示指向由jquery选择的某个元素的位置的数字..
例如,所选元素为$('#haha')
<ul id='haha'>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
所以第一个li
是索引0,然后是1,依此类推
答案 2 :(得分:0)
在根据集合查看数据时使用index()。例如
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
<li id="baz">baz</li>
</ul>
var listItem = document.getElementById('bar');
alert('Index: ' + $('li').index(listItem));
会给你li列表范围内的条形项的索引
请参阅jquery documentation
答案 3 :(得分:0)
jQuery创建一个返回元素的数组,索引引用的元素的集合。如果您返回typeof
,它将在逻辑上返回数字,因为它是一个数字。
$( 'li' ).html(function( index, html ) {
if(index===2){ // zero based, so it will colour the 3rd element!
$(this).css({color:'red'});
}
return 'jQuery indexes me inside an array as n:'+ index+
'<br> My HTML: '+ html + '!!!';
});
答案 4 :(得分:0)
描述:从匹配的元素中搜索给定元素。
索引是元素的顺序,它将告诉您此元素具有哪个索引。第一个将具有索引0,依此类推,在许多编程语言中非常常见,jQuery为您提供此工具。