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

时间:2015-11-26 13:31:00

标签: javascript jquery html ajax wordpress

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

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

$(document).ready(function(){
  st = 0;
  $(window).scroll(function(event){
    st = $(this).scrollTop();
    if(st > 200){
      test one;
    }else if(st > 400){
      test two
    }else{
      default
    }
  })
})

这就是该页面部分的HTML看起来像

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

3 个答案:

答案 0 :(得分:0)

使用

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,所以你需要使用(&gt; 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");

答案 1 :(得分:0)

bindings : {
    ".facebook-profile-icon" : "facebook"
    ".twitter-profile-icon" : "twitter"
}

render : function(){
  this.stickit();
}

您选择的是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

答案 2 :(得分:0)

使用

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选择器的参考。