繁体   English   中英

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

[英]jQuery update li class attribute href after ajax call

我正在使用我的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属性的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");
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");

你选课的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");

采用

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");

更改href。 正如其他人指出的那样,您不是更改<a>而是更改<li>

检查https://api.jquery.com/category/selectors/以获取有关jQuery选择器的参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM