jquery属性选择器[attribute=value]的问题

$("img").mouseenter(function (){ 
var bigimgsrc = $(this).attr('src');       
var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index();
       alert(liindex);
       });
登录后复制

问题是:liindex一直是-1;
那么我var liindex = $(this).siblings("ul").children("[datasrc=bigimgsrc]").index();这一句话是哪里出问题了呢?请指点一下。

"[datasrc='" + bigimgsrc + "']"
登录后复制

我一般都习惯带对引号,还有开始没看清,变量你用拼接吧。

语法并没有错,检查一下是否拼写错误。index()找不到元素情况下返回-1,所以children这里的选择器拼写是否有错误?

 <div>
        <img src="http://apeclass.cn/1212/img/photo_01.jpg">
        <ul>
            <li data-src="http://apeclass.cn/1212/img/photo_01.jpg"></li>
            <li></li>
            <li></li>
        </ul>
    </div>
    <div>
        <img src="http://apeclass.cn/1212/img/photo_02.jpg">
        <ul>
            <li></li>
            <li data-src="http://apeclass.cn/1212/img/photo_02.jpg"></li>
            <li></li>
        </ul>
    </div>
    <div>
        <img src="http://apeclass.cn/1212/img/photo_03.jpg">
        <ul>
            <li></li>
            <li></li>
            <li data-src="http://apeclass.cn/1212/img/photo_03.jpg"></li>
        </ul>
    </div>
    <script>
    $('img').mouseenter(function() {        var bigimgsrc = $(this).attr('src'),
            liindex = $(this).siblings('ul').children("[data-src='" + bigimgsrc + "']").index()
        alert(liindex );
    });    </script>
登录后复制

说明$(this).siblings("ul").children("[datasrc=bigimgsrc]")没有选取到任何元素。

以上就是jquery选择器[attribute=value]出现的问题解决办法的详细内容,更多请关注Work网其它相关文章!

09-16 15:04