是否有办法只在父级中索引特定元素。例如。
$('h4').click(function(){
alert($('div h4').index('h4'));
});
<div>
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<h4>Tag I want to include in index</h4>
<h4>Tag I want to include in index</h4>
</div>
我想要的是对应于我点击的h4标签的0或1警报。
这可以用jquery吗?
更新&gt;&gt;&gt;&gt;&gt;&gt;
嘿伙计们感谢所有的答案,你们提供的大部分内容都有效,但在工作实践中它似乎没有起作用。我想我的页面中的其他地方有问题。
非常感谢
答案 0 :(得分:6)
答案 1 :(得分:2)
如果我们使用字符串作为.index()方法的参数,它将被解释为jQuery选择器字符串。对象的匹配元素中的第一个元素也与此选择器匹配。
所以你可以这样做:
$('h4').click(function(){
var idx = $(this).index('h4');
alert(idx);
});
<强> DEMO 强>
答案 2 :(得分:1)
使用此测试HTML:
<div id="main">
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<p>do not include in indexing</p>
<h4>Tag I want to include in index</h4>
<h4>Tag I want to include in index</h4>
</div>
<div id="test"></div>
......和这个JS:
$('h4').click(function() {
var index1 = $(this).index("h4");
$("#test").append(index1);
});
将0或1附加到我添加的测试div元素。
jsfiddle:http://jsfiddle.net/8Tfq8/11/
答案 3 :(得分:0)
$('>'+this.tagName,this.parentNode).index(this)