要素の位置番号を取得するにはどうすればよいですか?

FirebugやFirebugなどの機能にプラグインがありますか?特定の要素の位置番号がわかりますか?

たとえば、特定のTDエレメントがどの位置にあるかをドキュメント内のすべてのTDと比較したい場合は、

例:

<html>
<head>
<body>
<table>
<tr>
<td></td> (0)
<td></td> (1)
<td></td> (2)
<td></td> (3)
<td></td> (And so on...)
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td> <------ WHAT IS THE POSITION NUMBER OF THIS TD?
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>

Example

The webdeveloper toolbar in firefox has a tool that lets you see the index number of all DIV's. This is what i need but for other elements, not just DIV. Web developer toolbar

PS。私は正しい答えに触発され、自分の解決策を作りました:

var dom = document.getElementsByTagName('td');
var x;
for(x = 0; x < dom.length; x++)
{
    dom[x].innerHTML = dom[x].nodeName + '[' + x + '] ' + '(' + dom[x].innerHTML + ')';
    dom[x].style.color = 'blue';
} 
2
jQuery: $( 'td').index(yourTD)または $(yourTD).index( 'td')
追加された 著者 Šime Vidas,

3 答え

さて、あなたが必要とする次のことは、

$('li').each(

function(i) {
    $(this).text('list element ' + i);
});

function indexAmongSiblings(elem) {
    if (!elem) {
        return false;
    }
    var that = elem;
    var parent = that.parentNode;
    var siblings = parent.childNodes;
    var elemSiblings = [];
    for (var s = 0, numberOf = siblings.length; s < numberOf; s++) {
        if (siblings[s].nodeName != '#text' && siblings[s].tagName != undefined) {
            elemSiblings.push(siblings[s]);
        }
    }
    for (var e=0,l=elemSiblings.length; e

JS Fiddle demo.


Edited the above in order to show how to assign the element's index, amongst its siblings, to a variable:

$('li').each(

function(i) {
    $(this).text('list element ' + i);
});

function indexAmongSiblings(elem) {
    if (!elem) {
        return false;
    }
    var that = elem;
    var parent = that.parentNode;
    var siblings = parent.childNodes;
    var elemSiblings = [];
    for (var s = 0, numberOf = siblings.length; s < numberOf; s++) {
        if (siblings[s].nodeName != '#text' && siblings[s].tagName != undefined) {
            elemSiblings.push(siblings[s]);
        }
    }
    for (var e=0,l=elemSiblings.length; e

Edited in response to comments left on other answers, by OP:

特定の要素の数/シーケンスの位置を(たとえば)DOM全体の要素と同じ(たとえば)と比較することが必要です。

Citation.

次の関数は、ドキュメント内の同じ型の他のタグの間でクリックされた要素のインデックス位置を取得して返します(これは実際にはこれよりもやや簡単です)。

function indexAmongSameTags(elem) {
    if (!elem || !elem.tagName) {
        return false;
    }

    var thisIs = elem.tagName.toLowerCase(),
        sameAs = document.getElementsByTagName(thisIs);

    for (var i=0,len=sameAs.length; i

JS Fiddle demo.

参考文献:

2
追加された
あなたは絶対に歓迎です。助けになってうれしい! =)
追加された 著者 David Thomas,
AAaaaaawwwww Yeeeaahhh!完璧に動作します:-)ちょうどそれを火の鳥のコンソールに貼り付けてください。仕事のためのツールが組み込まれていないので、私はこのスクリプトを使用します、ありがとう!! :-)
追加された 著者 user977150,

Dom-tree。 XPathで取得しようとすると、すべての要素に番号が付きます。

1
追加された
これはうまくいきません。例:/ html/body/form/div [2]/div [2]/div/div [3]/div/div [2]/div/div /&zwnj; div/div/divそれはxpathのfirebugが私に特定のtd要素を与えてくれますが、私はTDと比較して何番目の数字かを知る必要があります。 DOM内のすべてのTD
追加された 著者 user977150,

編集

申し訳ありませんが、私はあなたの質問を誤解しました。ここに答えがあります:

  1. 火かき棒を開く
  2. 検査ツールで要素を選択する
  3. 一度クリックすると、右側にあるDOMリンクをクリックします
  4. そこにセルインデックスを表示します。

このような:

enter image description here


javascriptを使用すると、tdsの数を取得できます。

var tds = document.getElementsByTagName('td');//this will return every td in the document. 
if (console && console.log)
   console.log(tds.length);
else
   alert(tds.length);

上記の例は、ドキュメント内のtd要素の総数を出力します。しかし、特定のtdが必要な場合は、その識別子に識別子を付ける必要があります。例えば、あなたのhtmlファイルが次のようなものであると仮定します:

...
<td id="your_td"></td>
...

今すぐjavascriptを使用して:

var td = document.getElementById('your_td');//this will return the td 
// if you want its position you can: 
var tds = document.getElementsByTagName('td');
for (var i = 0; i < tds.length; i++) { 

   if (tds[i] === td) 
       alert(i);

}

この例はあなたのtdの位置を与えるでしょう。

1
追加された
@ user977150、申し分なく答えを編集しました
追加された 著者 Savas Vedova,
ああ、私は答えがわかりません。申し訳ありません。
追加された 著者 Savas Vedova,
ありがとうあなたのコードの作品が、私は素早く要素をクリックすることができ、特定の要素の位置番号を教えてくれるツールやプラグインを探しています。火かき棒のinspect要素ツールのようなものかもしれません。
追加された 著者 user977150,
ありがとうございますが、私が探しているものではありません...明確にしましょう:特定の要素(例:)の数/シーケンス位置をDOM全体の等しい要素(など)と比較したい。私は、セルインデックスを使ったあなたの例のように、親の中の同じ要素と比較して要素の数を望んでいません。お役に立てれば :-)
追加された 著者 user977150,
TDの一部を新しいTRの中に入れようとすると、その位置番号がDOM全体ではなく親に関連していることになります。
追加された 著者 user977150,