gpt4 book ai didi

javascript - jQuery .each 函数帮助

转载 作者:行者123 更新时间:2023-11-28 16:29:31 26 4
gpt4 key购买 nike

更新4:

这就是我现在所拥有的:

var $elements = $('.dropdown');
var $lastElement = $elements.last();

$elements.slice(0, -1).each(function() {
$(this).css('left', $(this).prev.position().left);
});

var $prev = $lastElement.prev();
$lastElement.css('left', $prev.position().left - ($prev.outerWidth() - $lastElement.outerWidth()));

这给了我:

Uncaught TypeError: Object function (d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))} has no method 'position'
$.ajax.success homepage.htm:138
c.b.extend.each jquery.min.js:33
c.b.fn.b.each jquery.min.js:26
$.ajax.success homepage.htm:137
c.extend.handleSuccess jquery.min.js:142
c.extend.ajax.L.w.onreadystatechange jquery.min.js:141

所以上面脚本中的某些内容没有位置方法。

<小时/>

更新3:

这就是我现在所拥有的:

var $elements = $('.dropdown');var $lastElement = $elements.last();

$elements.slice(0, -1).each(function() { $(this).css('left', $(this).prev.position().left);});

var $prev = $lastElement.prev();$lastElement.css('left', $prev.position().left - ($prev.outerWidth() - $lastElement.outerWidth()));

它给了我一个需要函数错误。当我取出最后两行时,错误消失了,但问题没有得到解决。

<小时/>

更新2:

这是 HTML 结构:

<div class="settings"><span id="spanSettings">Settings ▼</span></div>
<div class="dropdown">
<a href="edit_profile.aspx"><div class="item"><div class="icon" style="background-image: url('http://intranet/img/profile_icon.png');"></div> Edit profile</div></a>
<a href="manage_tabs.aspx"><div class="item"><div class="icon" style="background-image: url('http://intranet/img/tabs_icon.png');"></div> Tab settings</div></a>
</div>
<小时/>

更新1:

使用:$(this).css('left', $(this).prev().position().left);

我得到image 1 :

其中:$(this).css('right', $(this).prev().position().right);

我得到image 2 :

我在找image 3 :

^ 图片 3 经过 Photoshop 处理。

<小时/>

原始问题:

我有以下脚本,它可以更改任何具有 dropdown 类的 html 元素的位置

$('.dropdown').each(function() {
$(this).css('left', $(this).prev().position().left);
});

如何修改此设置,以便根据父级将所有下拉列表更改为左侧,最后一个除外,该下拉列表应与父级对齐位置正确吗?

如果不可能,我如何独立改变他们的立场?而不是使用 each 函数?

最佳答案

你可以这样做:

var $elements = $('.dropdown'),
$lastElement = $elements.last();

$elements.slice(0, -1).each(function() {
$(this).css('left', $(this).prev().position().left);
});

$lastElement.css('right', $lastElement.prev().position().right);

更新:要按照图片所示对齐它(我假设它是关于最后一个元素),您可以尝试:

var $prev = $lastElement.prev();
$lastElement.css('left', $prev.position().left - ($prev.outerWidth() - $lastElement.outerWidth()));

关于javascript - jQuery .each 函数帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com