gpt4 book ai didi

javascript - jQuery 中 parent sibling 的操作

转载 作者:行者123 更新时间:2023-12-02 16:30:37 25 4
gpt4 key购买 nike

这是我的 html 代码:

<div class="btn-group js_publish_management>
<button class="btn btn-danger js_publish_btn">Not Published</button>
<button class="btn btn-success js_publish_btn">Published</button>
<button type="button" t-attf-class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li>
<a href="#" class="js_publish_btn">
<span class="css_unpublish">Unpublish</span>
<span class="css_publish">Publish</span>
</a>
</li>
</ul>
</div>

现在我想使用 jQuery 选择父级的同级按钮。

如果我点击任何<span> li 元素那么我如何对 <button> 执行某些操作我不太了解 jQuery 选择器。预先感谢您的帮助。

相关演示JsFiddle

在上面的演示中,如果用户单击“否”按钮,它将变为“正在加载...”我想要这样的:用户从下拉列表中单击 NO-2,然后 NO 按钮也应该变为“正在加载”

最佳答案

假设您也可以更改 HTML,则有更好的方法来同步按钮对。用 data- 属性装饰它们可能是使代码数据驱动的最简单方法。

您的 JSFiddle 有一些奇怪代码。 文档就绪事件仅适用于初始页面加载,而您似乎使用它来模拟使用循环的加载(这将不起作用,因为它将在同一浏览器框架上完成)。此外,文档加载不会返回 promise ,因此 .then 只会导致错误。

我用 loadData 函数替换了负载模拟,该函数返回一个 promise 并在 3 秒后完成。

我修改了您的代码,以便各个按钮都有一个 data-target 引用其匹配按钮(在下拉列表中或主按钮中)。

例如

<button id="Unpublish" data-target="#UnpublishLink" class="btn btn-danger js_publish_btn">No</button>

当单击按钮时,它会创建一个引用单击的按钮和匹配对的 jQuery 对象:

// Add any matching button
$el = $el.add($el.data('target'));

然后,它会在两个按钮上执行任何按钮登录(“正在加载...”等)。

$el.button('loading');
loadData().then(function (result) {
$el.toggleClass("css_unpublished css_published");
$el.button('reset');
}).fail(function (err, data) {
$el.button('reset');
});

JSFiddle: http://jsfiddle.net/TrueBlueAussie/deC37/312/

关于javascript - jQuery 中 parent sibling 的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28326853/

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