2017-10-11 58 views
0

我试图用下面的jQuery自动修复我网站文本中的窗口。这是在WordPress,这就是为什么我使用无冲突模式。在元素上使用jQuery,但不影响儿童

jQuery('p,h1,h2').not('a').each(function(){ 
    var string = jQuery(this).html(); 
    string = string.replace(/ ([^ ]*)$/,' $1'); 
    jQuery(this).html(string); 
}); 

的问题是,这也影响了与HREF之间的空间内段的任何链接,使其成为一个  HREF,它打破了链接。我尝试添加.not('a')以防止它在链接上运行,但它无济于事。我也试过'p'a',认为它只会指定那些也不起作用的p的孩子。

是否可以从该脚本中排除“href”,以便它不影响链接?

回答

0

尝试:

$('p,h1,h2').each(function(){ 
    var string = $(this).html(); 
    if(!$(string).is('a')) { 
     var string_out = string.replace(/ ([^ ]*)$/,' $1'); 
     $(this).html(string_out); 
     console.log([string, string_out]); 
    } 
}); 

合作链接:https://jsfiddle.net/mscdeveloper/k562v82w/