建立链接“noAJAX”

时间:2015-05-29 02:33:48

标签: javascript

我有这个不推荐使用的脚本:

   $(function(){ 
  // Link handling.
  $('a[rel != "noAJAX"]').live('click', function(event){    
    if ($(this).attr('name') != ""){        
        var currentDiv = $(this).attr('name');      
    }else{      
        var currentDiv = divID;         
    }   
    $(currentDiv).html(loadingHTML);        
    $(currentDiv).load($(this).attr('href'));   
    event.preventDefault();     
  }); 

我正在尝试将noAJAX应用于此脚本:

$(document).ready(function() {

    var hash = window.location.hash.substr(1);
    var href = $('.no li a').each(function(){
        var href = $(this).attr('href');
        if(hash==href.substr(0,href.length-10)){
            var toLoad = hash+' #content';
            $('#content').load(toLoad)
        }                                           
    });

        $('.no li a').click(function(){

            var toLoad = $(this).attr('href')+' #content';
            $('#content').hide('fast',loadContent);
            $('#load').remove();
            $('#wrapper').append('<span id="load">LOADING...</span>');
            $('#load').fadeIn('normal');
            window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-4);
            function loadContent() {
                $('#content').load(toLoad,'',showNewContent())
            }
            function showNewContent() {
                $('#content').show('normal',hideLoader());
            }
            function hideLoader() {
                $('#load').fadeOut('normal');
            }
            return false;

        });

    });

所以当我在页面上有href链接时,我可以将“noAJAX”应用到脚本中,这样它就不会对某些链接做任何事情。这可能吗?或者有没有人可以指导我朝正确的方向发展?

1 个答案:

答案 0 :(得分:0)

查看not()选择器。

您可以执行以下操作:

$('.no li a').not('[rel == "noAJAX"]').click(function(){
    // ...
});

或继续按原样执行上一个脚本:

$('.no li a[rel != "noAJAX"]').click(function(){
    // ...
});

或者如果您不想使用rel属性,请将noAJAX添加为类选择器:

$('.no li a').not('.noAJAX').click(function(){
    // ...
});