jQuery - 查找 div 的最后一个出现位置

12

我有两个带有相同id(pagination)的div,一个在页面顶部,另一个在底部。

我想要做的是找到最后一个id,也就是在页面底部的<div id="pagination"></div>,并添加一些HTML代码,使其看起来像这样:

<div id="pagination"></div><hr />

这个在jQuery中可行吗?

7个回答

25

在同一页面中不能使用相同的ID。ID是唯一标识符。如果您需要使用多个标识符,请改用class。

无论如何,您可以使用:last选择器,像这样:

$("div:last")

你甚至可以使用:last-child,像这样:

$('#pagination:last-child')

这是一个 PHP 包含文件,因此文件的内容不能更改。因此它们都具有相同的 ID 和类名。 - terrid25
1
@terrid25,如果是这种情况,请查看@Scoobler的答案。不过你发出的代码真的很糟糕。 - Swaff
HTML的创始人们都在坟墓里扭动着身体,一致希望能够与你联系。 - Sudhir Jonathan

6
如果你想正确操作,就不应该让两个ID相同。因此使用$('#selector:last')$('#selector').last()是行不通的。但是可以通过以下方式进行一些小技巧:
$("div[id=pagination]:last").......

Here is an example


我有一个 jQuery 插件,每次调用都会在 DOM 中生成一个新的 div,这是选择新生成的 div 的唯一方法 - 谢谢! - Ryan Haywood
1
谢谢你的提示,和Lsdafjklsd一样的情况。ID是动态生成的,有时会重叠。 - Jamex

3

.last()

$('div#pagination').last()

1
我建议将 pagination 类添加到这两个 div 中(不能有重复 ID),并使用 $('div.pagination:last') 来获取页面上最后一个。

0

您不能使用相同的ID来创建多个元素,ID必须是唯一的。

但是如果您想要该元素的最后一个出现位置,可以使用以下方法

$('selector:last')

0
拥有两个具有相同ID的元素不是有效的HTML。
而应该使用不同的类,例如pag_top、pag_bottom,并使用以下方式选择底部一个:
$(".pag_bottom")

0

是的,你可以获取具有相同ID的div数组

var myDivArray = $('#pagination');

然后你就可以获取第二个元素了

var myDiv = myDivArray[1];

希望这对你有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接