我正在使用jQuery处理SharePoint,每次我将prepend()函数与each()函数结合使用,以便在列表中的每个单元格之前显示图像时,我会得到几个这样的图像。 / p>
更具体地说,这些图像的数量与列表中的项目数量相匹配。我打赌这是发生了什么的线索,但我不是jQuery专家
这是一段代码:
$(item).each(function(i, e) {
$(e).prepend(image);
});
Image,btw,image
是一个包含图像html代码的变量。 Item
就是这样:
var item = #MSO_ContentTable td.ms-vb2>div:has(>div);
这个地方太棒了!
答案 0 :(得分:0)
你可以这样做:
$(item).each(function(i, e) {
$(e).prepend(image[i]);
});
但是我不清楚image
是什么,如果它是一组元素,它会预先设置为item
选择器找到的每个匹配。如果它是一个jQuery元素或一个数组,上面的内容将会起作用,如果它是其他内容,请发布它。
上面的示例采用了匹配的image
条目,并将其添加到同一索引的当前item
匹配项中,这是我可以从问题中收集的最佳内容。
答案 1 :(得分:0)
我怀疑问题可能出在item
的选择器上。根据我的经验,SharePoint生成的HTML包含许多“空”元素,这些元素虽然在呈现的页面中不可见,但却被jQuery查询选中。
在制作jQuery选择器时,我发现Mozilla Firefox和Firebug是必不可少的。这是我的建议:
>>>
表示),输入您的jQuery:
jQuery("#MSO_ContentTable td.ms-vb2>div:has(>div)")
通过使用此技术,您可以查看您的查询是否过多,过少或根本没有得到正确的结果。
请务必在FB控制台窗口中使用jQuery
而不是$
,因为FB也会使用美元别名。