javascript - jQuery 在 ajax 调用后更新 li 类属性 href

标签 javascript jquery html ajax wordpress

我正在使用我的 Wordpress 网站并有一个弹出模式窗口,其中仅显示一些单选按钮 (#input_1_1)。当更改单选按钮字段的值时,将运行 ajax 调用并执行简单的 mySql 表更新。一切顺利,我想更改我最初用来打开窗口的 href 的文本。

下面是我到目前为止得到的 javascript,但是从底部开始的第二个 JQuery 行没有执行我想要的更改。即使只是尝试更改简单的目标 url。

    jQuery(document).ready(function(){
        jQuery("#input_1_1").change(function(){
            jQuery("body").css("cursor", "wait");
            var commitmentID = jQuery("#gform_1 input[type='radio']:checked").val();
            jQuery('#popmake-710').popmake('close');
            jQuery.ajax({
                url:"<?php bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php",
                type:'POST',
                data:'action=gf_submit_1_1&commitmentID=' + commitmentID,
                success:function(results)
                {
                    //Here is the problem I've been working on for too many hours/days now
                    jQuery("#et-secondary-nav > li.popmake-fast-select-commitment.current_commitment_text.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-563").attr('href',"http://www.TheSameUrlButILikeADifferentTextToIt.com");
                    //See line above
                    jQuery("body").css("cursor", "default");
                }
            });
        });
    });

这就是页面那部分的 HTML 的样子

        <div id="et-secondary-menu">
        <ul id="et-secondary-nav" class="menu">
            <li class="bp-menu bp-profile-nav menu-item menu-item-type-custom menu-item-object-custom menu-item-152"></li>
            <li class="popmake-fast-select-commitment current_commitment_text menu-item menu-item-type-post_type menu-item-object-page menu-item-563" style="cursor: pointer;">
                <a href="http://www.myoriginalurlisjustfine.com/">
                    <i class="wp-svg-heart heart"></i>
                    THIS IS THE TEXT THAT I WANT TO HAVE CHANGED BY THE JQUERY AND IS THE TEXT PRESENTED IN THE SECONDARY WORDPRESS MENU
                </a>
            </li>

最佳答案

当你使用

jQuery("#et-secondary-nav > li.popmake-fast-select-commitment.current_commitment_text.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-563") 

这只会选择没有 href attr 的 li,因此您需要使用 (> a)

jQuery("#et-secondary-nav > li.popmake-fast-select-commitment.current_commitment_text.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-563 > a").attr('href',"http://www.TheSameUrlButILikeADifferentTextToIt.com");

关于javascript - jQuery 在 ajax 调用后更新 li 类属性 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33940002/

相关文章:

html - 使用 CSS 实现淡入/淡出效果

javascript - Response.Write - 我现在如何摆脱脚本?

php - 在 JS 不好的做法中使用 PHP if/else 吗?

html - 客户端-服务器模型

jquery - 如何围绕圆形图像对齐按钮

jquery - 检测可拖动快照器与其捕捉到的元素的相对位置

javascript - IE6、灯箱和 IFRAME

javascript - knockoutJS 激活/停用值输入

JavaScript 在 Brackets 代码编辑器中很奇怪

javascript - 无法使用 Chart.js 制作图表