保留多个图像
我正在使用jQuery SharePoint,每次将prepend()函数与each()函数结合使用以便在列表中的每个单元格之前显示图像时,我会获得几个那些图像。保留多个图像
更具体地说,这些图像的数量与列表中的项目数量相匹配。我敢打赌,这是一个线索,这是怎么回事,但我没有jQuery的专家
下面是一段代码:
$(item).each(function(i, e) {
$(e).prepend(image);
});
图片,顺便说一句,image
是包含HTML代码的图像的变量。 Item
是这样的:
var item = #MSO_ContentTable td.ms-vb2>div:has(>div);
这个地方太棒了!
你可以只是这样做:
$(item).each(function(i, e) {
$(e).prepend(image[i]);
});
但我什么image
还不清楚,如果它是一组元素,它会预先准备设置到每个匹配item
选择找到。如果它是一个jQuery元素或一个数组,上面的工作,如果它是别的东西,请张贴它。
上述示例采用匹配的image
条目,并将其前置到当前item
匹配的相同索引,这是我可以从问题中收集的最好的问题。
它没有工作。 “图像”包含HTML,就是这样。这不是一个数组,只是我想在所有“项目”之前放置的单个实体。抱歉,模糊不清。 – ShareOnpoint 2010-08-03 17:23:23
我怀疑问题可能出在item
的选择器上。我的经验是,由SharePoint生成的HTML包含很多“空”元素,虽然在呈现的页面中不可见,却被jQuery查询拾取。
我发现Mozilla Firefox和Firebug在制作jQuery选择器时是不可或缺的。这里是我的建议:
- 获取Firefox和Firebug(如果你还没有的话)
- 打开在FF您的SharePoint页面并点击F12激活FB
- 在FB中,切换到控制台选项卡(您可能需要从控制台下拉菜单第一)
- 在在控制台(通过
>>>
表示),输入你的jQuery底部的一行中选择“已启用”:jQuery("#MSO_ContentTable td.ms-vb2>div:has(>div)")
- 敲回车;控制台的输出窗口应该显示选择器代表的所有匹配。将鼠标悬停在每一个上面,看它在页面中突出显示。
通过使用此技术,您可以查看您的查询是否拉回太多,太少或根本没有正确的结果。
请确保在FB控制台窗口中使用jQuery
而不是$
,因为FB也使用美元别名。
祝你好运!
什么是“图像”? – 2010-08-03 16:41:48
这甚至没有任何意义。问题在哪里? – 2010-08-03 16:42:35