各要素のDOMインデックスをページに保存する必要があります。要素は、DOM内でそれらを識別するためのidまたはクラス名のいずれかを持つこともあれば、持たないこともあります。私は動作するメソッドがありますが、これをコード化するより効率的な方法があるのだろうかと思います。どのような援助のためのより効率的な方法でページにノードのインデックスを取得できますか?
おかげで...
コード:
$('textarea,input,select,img,a,span,label,embed,object,caption,map,h1,h2,h3,h4,h5,h6,li,ul,th,p,td,div').click(function (event) {
if (event.target.nodeName.toLowerCase() == "textarea") {
var nodeIndex = $("textarea").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
if (event.target.nodeName.toLowerCase() == "input") {
var nodeIndex = $("input").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
if (event.target.nodeName.toLowerCase() == "img") {
var nodeIndex = $("img").index(this);
var nodeName = $(this).get(0).nodeName
alert(nodeName + "," + nodeIndex);
}
//and so on...
});
コードはすべての要素に対して0のインデックスを返します。http://jsfiddle.net/ANAZ9/ ここでは正確に何をしようとしていますか?私はtextarea、入力とページ上のH1を持って、私がtextareaをクリックした場合、私は、その入力のためのインデックス0を取得する必要がありますか? – codef0rmer
@ codef0rmerはい、私は3つの入力を持っていると私は1を返す2番目のものをクリックするか、私は4つの画像を持っている場合は、4番目のインデックスは3です。 – Rob
@ codef0rmer - あなたのデモは、ほとんどの作品は – charlietfl