Jquery 获取元素的DOM id
看起来这应该是小菜一碟,但谷歌和jQuery的网站都没有帮助 我想获得结构中图像的DOM ID 结构很复杂:我使用的是类似于在中找到的容器的示例。不同的是,我有几个容器,每个容器都有自己的图像 在容器中放置一个图像之后,我想操纵所有图像在容器中的显示方式。因为我想引用容器内的所有图像,所以我考虑使用它们的DOM编号(它们介于image-of-container-j和image-of-container-j+1之间),但我不知道如何获得容器图像的id。使用jquery的.index()将引用相对于其父级的位置。因为每个图像都在一个或一些东西里面,所以我总是用这种方法得到1。有什么想法/解决方法吗?:-) 代码: 基本上,在jQuery的站点示例中,我得到的配料和厨房设备就像垃圾桶一样。当按下某个按钮时,我用ajax发送了一个隐藏的表单。Jquery 获取元素的DOM id,jquery,dom,Jquery,Dom,看起来这应该是小菜一碟,但谷歌和jQuery的网站都没有帮助 我想获得结构中图像的DOM ID 结构很复杂:我使用的是类似于在中找到的容器的示例。不同的是,我有几个容器,每个容器都有自己的图像 在容器中放置一个图像之后,我想操纵所有图像在容器中的显示方式。因为我想引用容器内的所有图像,所以我考虑使用它们的DOM编号(它们介于image-of-container-j和image-of-container-j+1之间),但我不知道如何获得容器图像的id。使用jquery的.index()将引用相对于
<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.