Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取元素的DOM id_Jquery_Dom - Fatal编程技术网

Jquery 获取元素的DOM id

Jquery 获取元素的DOM id,jquery,dom,Jquery,Dom,看起来这应该是小菜一碟,但谷歌和jQuery的网站都没有帮助 我想获得结构中图像的DOM ID 结构很复杂:我使用的是类似于在中找到的容器的示例。不同的是,我有几个容器,每个容器都有自己的图像 在容器中放置一个图像之后,我想操纵所有图像在容器中的显示方式。因为我想引用容器内的所有图像,所以我考虑使用它们的DOM编号(它们介于image-of-container-j和image-of-container-j+1之间),但我不知道如何获得容器图像的id。使用jquery的.index()将引用相对于

看起来这应该是小菜一碟,但谷歌和jQuery的网站都没有帮助

我想获得结构中图像的DOM ID

结构很复杂:我使用的是类似于在中找到的容器的示例。不同的是,我有几个容器,每个容器都有自己的图像

在容器中放置一个图像之后,我想操纵所有图像在容器中的显示方式。因为我想引用容器内的所有图像,所以我考虑使用它们的DOM编号(它们介于image-of-container-j和image-of-container-j+1之间),但我不知道如何获得容器图像的id。使用jquery的.index()将引用相对于其父级的位置。因为每个图像都在一个或一些东西里面,所以我总是用这种方法得到1。有什么想法/解决方法吗?:-)

代码:

基本上,在jQuery的站点示例中,我得到的配料和厨房设备就像垃圾桶一样。当按下某个按钮时,我用ajax发送了一个隐藏的表单。
  • 用于一般外观和动画,而每个成分中包含的隐藏内容将与表单一起发送。以下是一种成分的html结构:

    <li class="ui-widget-content ui-corner-tr">
      <h5 class="ui-widget-header">Meat</h5> 
      <img src="images/meat.jpg"
                alt="A chunk of meat" width="96" height="72" /> 
      <a
                href="images/meat.jpg" title="View larger image"
                class="ui-icon ui-icon-zoomin">View larger</a> 
      <input type="text"
               class="ingrediente hidden" name="ingredient" value="Meat" />
    </li>
    

    我想要的是在文本旁边显示成分图像。我需要知道那里的成分是什么,所以我考虑使用document.image[]数组,因为我发现如果煎锅的图像是-7,下一个垃圾箱是10,那么煎锅中包含的成分的图像位于8和9号。我无法通过使用jQuery的选择器找到另一种方法来定位它们,而使用.index()则没有帮助,因为它返回相对于父容器的索引,而不是DOM:-(

    我认为您正在尝试解决一个尚未解决的问题

    如果您的所有图像都在某种容器(例如DIV)中,您可以使用jQuery访问它们并将它们处理为您的内容

    //set of all images inside container
    $('#myContainer').find('img');
    
    //want to style them all the same way? try adding a class to them
    $('#myContainer').find('img').addClass('in_container');
    
    //iterate over the set
    $('#myContainer').find('img').each(function(index){
      $(this).data('special', 'My current index is: ' + index);//store some data
    });
    
    //etc.
    

    如果要获取id属性,可以尝试使用
    .attr('id')
    ,但请记住,此方法仅返回选择器中第一个匹配元素的id

    编辑:如果你想操纵整个集合,你可以使用scunliffe;)的答案


    希望有帮助。

    Grr。。。不是对代码的另一种理论描述。展示一些标记和js代码怎么样?用代码告诉我们,这样做真的很漂亮,你不同意吗?你能把一个演示放在一起展示你想做什么吗?您想要图像的索引,还是要将图像放入其中的容器?我们至少需要看到html和JS/jQuery。如果你想影响容器中的图像,你不能做一个像
    $(“#container1”)这样的选择器。查找(“img”)
    ?如果我没有弄错你的问题,我所能看到的就是把事情复杂化了。假设你有一些事件,只要把
    $(this.attr(“id”)
    this.id
    放在
    $(“#myContainer”)。查找('img')
    。它比这更复杂……我编辑并添加了代码,希望我能把我的问题弄清楚>\u>
        $("[id *= dialog ]").button().click(function() {
        $(".internalList").addClass("hidden");
        $(this).addClass("hidden");
        $(".internalForm").removeClass("hidden");
        $(".internalForm").children().removeClass("hidden");
        $babbo = $(this).parent();
        $babbo.appendTo("#dialog-form");
        $index = $("h4 img").index();
        $("#dialog-form").dialog("open");
    });
    
    //set of all images inside container
    $('#myContainer').find('img');
    
    //want to style them all the same way? try adding a class to them
    $('#myContainer').find('img').addClass('in_container');
    
    //iterate over the set
    $('#myContainer').find('img').each(function(index){
      $(this).data('special', 'My current index is: ' + index);//store some data
    });
    
    //etc.