0

我是 javascript/jquery 的新手。我正在尝试从一个li元素div中进行选择,我将在其中放置 3 张图像。所以我有这个变量:

var x = ui.item.parent().children()[i]

哪个是li(它有效,我检查了 id),但我怎样才能得到 divx呢?(然后是所有 3 张图像,所以我可以更改z-index图像的,我也不知道如何)。

<ul>
   <li id="li1">
   <div>
       <img class="1" src="img1.jpg" style="position:absolute;z-index=1">
       <img class="2" src="img2.jpg" style="position:absolute;z-index=2">
       <img class="3" src="img3.jpg" style="position:absolute;z-index=3">
   </div>
   </li>
</ul>

这是我写的代码,但不工作(错误:未捕获的类型错误:对象#没有方法“查找”)

for(var i=0;i<ui.item.parent().children().length-4;i++){
    var x =ui.item.parent().children()[i];
    x.find('img').css('z-index', '2');  
                }
4

4 回答 4

1

请更正您的html。你的 ul 在你 li 之前结束。一旦你有了一个 jQuery 元素,你就可以使用.find()函数来搜索它的子元素。

例如:

var x = $('li#yourid');

x.find('img').css('z-index', '2');
于 2013-05-31T12:57:16.467 回答
0

我不知道该 HTML 是否只是一个示例,但它的格式不正确。它应该是:

<ul>
    <li id="li1">
        <div>
            <img class="1" src="..."/>
            <img class="2"/>
            <img class="3"/>
        </div>
    </li>
</ul>

设置 z-index: $(x).find('img').css('z-index','100');

于 2013-05-31T13:04:24.980 回答
0

您的 HTML 无效,您在li之后关闭标签ul并且li没有打开标签<

所以正确的HTML是:

<ul>
<li id="li1">
<div>
<img class="1" src="...">
<img class="2">
<img class="3">
</div>
</li>
<ul>

现在要从 x 获取 div,您需要使用.find()

var div = x.find('div');
于 2013-05-31T12:57:48.383 回答
0

像这样使用

$("ul li").children("div").find("img").each(function(){
     alert($(this).attr('class'));
});

看演示

于 2013-05-31T12:59:18.060 回答