javascript - 使用 jQuery 更改元素的 margin-right 值

标签 javascript jquery html css margin

我创建了一个简单的 <ul>在 HTML 中列出并为每个 <li>'s 分配不同的 margin-right 值使用 CSS ( jsFiddle )。这是它的 HTML 标记:

<ul>
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
    <li>Fourth</li>
    <li>Fifth</li>
</ul> 

CSS:

ul {
    padding: 0px;
    margin: 0px;
}

ul li {
     display: inline-block;
}

ul li:first-child {
    margin-right: 10px;
}

ul li:nth-child(2) {
    margin-right: 20px;
}

ul li:nth-child(3) {
    margin-right: 30px;
}

ul li:nth-child(4) {
    margin-right: 40px;
}

ul li:last-child {
    margin-right: 50px;
}

我心中的问题是,是否可以替换第一个 child 的 margin-right 值 <li>与二胎的关系<li>利用以下 jQuery 片段:

jQuery('ul li:first-child').css('margin-right', '');

例如第一个 child <li>具有 10px 的 margin-right 值和第二个 child <li>具有 20px 的 margin-right 值因此 jQuery 应该替换 first-child <li> 的 margin-right 值到 20 像素。

最佳答案

你大部分时间都在那里,你只是从来没有问过第二个 child 它的 margin-right 是什么:

jQuery('ul li:first-child').css('margin-right', jQuery('ul li:first-child').next().css('margin-right'));

或更有效(更清晰):

var first = jQuery('ul li:first-child');
first.css('margin-right', first.next().css('margin-right'));

或者更清楚:

var first = jQuery('ul li:first-child');
var marginRight = first.next().css('margin-right');
first.css('margin-right', marginRight);

Updated Fiddle - 请注意,我必须在 fiddle 中更改的一件事是您选择了“No wrap - in head”选项,这意味着 JavaScript 代码在元素存在之前运行。我将其更改为“No wrap - in body”,因此脚本位于主体的末尾,因此所有元素都存在。

关于javascript - 使用 jQuery 更改元素的 margin-right 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590732/

相关文章:

javascript - 自动完成 : how to pass an extra parameter to the response callback

iphone - UIWebView 加载崩溃 [__NSCFDictionary _isChargeEnabled]

javascript - Knockout ObservableArray 未在 UI 中更新

javascript - 使用 JQuery 自动录制并允许播放一次

javascript - 带有参数的 Typeorm 监听器

facebook - 如何在 extJS 3.4 中设计薄滚动条,如 facebook 提供的列表和聊天

html - 如果条件满足,点击 HTMLelement

javascript - 导航列表中的事件链接

JavaScript + jQuery : Display calculated variable in table instead of console. 日志

javascript - 根据浏览器窗口大小旋转 div