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

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

结构很复杂:我使用的是类似jQuery's website中的容器示例的东西。区别在于我有几个容器,每个容器都有自己的图像。

将图像放入容器后,我想操纵所有图像在容器中的显示方式。由于我想引用容器中的所有图像,因此我考虑使用它们的DOM号(它们在image-of-container-j和image-of-container-j + 1之间),但是我不知道获取容器图像的ID。使用jquery的.index()将引用相对于其父级的位置。由于每个图像都在一个或某个内部,因此使用该方法我总是得到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/

10-12 12:26
查看更多