要素のindex()を見つけるだけの設定ですが、同じノード名の同じレベルの要素を参照する必要があります。jquery find同じノード名のindex()
返される数値は、期待どおりではありません。コードのコメントを参照してください。 filteredByNodeNameIndexを '2'にします。
・ホープ、この例のコードは、十分に明確である:
これは間違っているところ見つけることができ<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>TestDrive</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" >
function TestDrive()
{
var $obj = $("#div2");
console.log("$obj.length:" + $obj.length); // returns: 1
var $filtered = $obj.parent().children($obj[0].nodeName); // find all divs in same parent
console.log("$filtered.length:" + $filtered.length); // returns: 3
var $obj_clone = $filtered.find($obj); // find original element again. Is something wrong here?
console.log("$objAgain.length:" + $obj_clone.length); // returns: 0
var filteredByNodeNameIndex = $obj_clone.index(); // i want the number 2 here
console.log("filteredByNodeNameIndex:" + filteredByNodeNameIndex); // returns: -1
}
</script>
</head>
<body onload="new TestDrive()">
<div id="container">
<!-- some random elements just for test -->
<a></a>
<div id='div1'></div>
<div id='div2'></div>
<span></span>
<span></span>
<a></a>
<div></div>
<a></a>
</div>
</body>
</html>
?
何をして動作していない探しは、次の必要がありますか?数字が間違っているのですか、コードが爆発していますか? –
数字は期待通りではありません。コードのコメントを参照してください。 filteredByNodeNameIndexを '2'にします。 var filteredByNodeNameIndex = $ obj_clone.index(); //ここで番号2を欲しい –