我有一个无序列表( <ul>
),其中有许多 <li>
元素。 <ul>
元素的宽度为 100%,适合 1 到“n”个 <li>
内联 block 元素彼此相邻,具体取决于浏览器窗口的大小。因此,列表包含 x 行,每行包含“n”个元素。
给定一个元素,使用 jQuery 我想选择同一行中的所有其他元素。我怎样才能做到这一点?
最佳答案
您必须识别给定的 <li>'s
通过匹配位置来匹配同一行上的 sibling ,因为它们是相同的。
这是您可以使用的示例代码
var givenLi=$($('.ulnav li').get(6));
var sameRowLis=[];
givenLi.siblings().each(function(){
if(givenLi.position().top === $(this).position().top){
sameRowLis.push($(this)[0]);
}
});
console.log($(sameRowLis));
sameRowLis 会给你你所期望的,但是这不会包括最初给定的 <li>
如果您希望它包含给定的 <li>
然后更改每个选择器如下 'givenLi.parent().children().each...'
关于javascript - 如何选择列表中给定元素右侧和左侧显示的内联 block 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32310998/