jquery - 获取元素的 DOM id

标签 jquery dom

看起来这应该是小菜一碟,但 Google 或 jQuery 的网站都没有帮助。

我想获取结构内图像的 DOM ID。

结构很复杂:我正在使用类似于 jQuery's website 中找到的容器示例之类的东西。 。不同之处在于我有几个容器,每个容器都有自己的镜像。

将图像放入容器内后,我想操纵所有图像在容器内显示的方式。由于我想引用容器内的所有图像,因此我考虑使用它们的 DOM 编号(它们位于 image-of-container-j 和 image-of-container-j+1 之间),但我不知道有什么办法获取容器镜像的 id。使用 jquery 的 .index() 将引用相对于其父级的位置。由于每个图像都在 a 或某物内,所以用该方法我总是得到 1 。有什么想法/解决方法吗? :-)

代码:http://jsfiddle.net/xKpTH/2/

基本上,我有配料和厨房用具,它们的作用就像 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>
    

    这是一个垃圾箱的 html 结构:

    <div id="trash3" class="trash ui-widget-content ui-state-default">
       <h4 class="ui-widget-header">
           <span>Padella</span>
           <img src="images/fryingpan.jpg" alt="A frying pan"
                width="96" height="72" />
       </h4>
       <form class="hidden internalForm" name="FryingPan" method="post" action="phasehandler.php">
            </form>
       <button id="dialogbutton1" class="create-user sendButton">Send trash3</button>
    </div>
    

    当按下(“#dialogbutton”)时,会使用 jquery 弹出一个对话框。这是代码:

        $("[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");
    });
    

    我想要的是在文本旁边显示成分图像。我需要知道那里的成分是什么,所以我考虑使用 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.
    

    关于jquery - 获取元素的 DOM id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138630/

    相关文章:

    javascript - JQuery 数据表不按隐藏值搜索

    javascript - 如何设置图像路径的样式

    javascript - 从服务器从 nodemailer 发送电子邮件时出错

    java - XML 文档到字符串

    javascript - JS 中的深度属性?

    javascript - 使用javascript将CSS类添加到动态ul li a标签

    javascript - 注销按钮的外观因浏览器而异

    reactjs - react 文本输入字段,重新渲染组件后,输入仍然保持旧值

    jquery - document.elementFromPoint 在 jQuery 中不起作用

    java - 在android中使用jsoup在dom解析器中解析图像