0

我试图弄清楚如何获取特定 div 的 index() 值……</p>

基本 HTML:

<div class="rsContainer">
    <div class="rsSlide rsActiveSlide">
        <div class="rsContent" data-name="/A"></div>
    </div>
    <div class="rsSlide">
        <div class="rsContent" data-name="/B"></div>
    </div>
    <div class="rsSlide">
        <div class="rsContent" data-name="/C"></div>
    </div>
    <div class="rsSlide">
        <div class="rsContent" data-name="/D"></div>
    </div>
    <div class="rsSlide">
        <div class="rsContent" data-name="/E"></div>
    </div>
    <div class="rsSlide">
        <div class="rsContent" data-name="/F"></div>
    </div>
</div>

所以这里是我尝试过的代码:

var pathname = B;
// this is a random one of the data-name values

var currentslide = $(".rsActiveSlide").find(".rsContent").data("name");
// this is active

var rightone = $(".rsContainer").find(".rsContent" + "[data-name='" + pathname +"']");
// this should be the active
// here is the problem, all i need is the index(); of the parent.DIV (.rsSlide)

if (currentslide != pathname) {
    goTo(index-of-rightone's-parent);
}
// so i could do: goTo(index); and the Slider will set the Slide which contains the "rightone" to be active

非常感谢你!任何帮助表示赞赏...</p>

wbr 狮子座

4

1 回答 1

0

你的意思是:

var rightone = $(".rsContainer")
    .find(".rsContent" + "[data-name='" + pathname +"']")
    .parent().index();

|或| 你可以做到这一点:

var rightone = $(".rsContainer")
    .find(".rsContent" + "[data-name='" + pathname +"']")
    .closest('.rsSlide').index();

要记住:

  • 索引从 0 开始,这意味着第 4 项的索引号为 3
  • 如果有不想要的兄弟姐妹(不同的类名),那么您可以在 index 参数中使用说明符来仅获取 LIKE 元素的索引(请参阅注释)
于 2013-08-02T20:36:00.983 回答