2011-01-26 55 views
1

我想在点击定位标记之前添加一些文本。下面添加文本,以实际锚标记本身:在定位标记之前添加文本

$(document).ready(function(){ 
    $(".none_standard_links").live('click', function(event) 
    { 
     event.preventDefault(); 
     $(this).prepend("test"); 
    }); 
}); 

上面给我的html如下图所示:链接被点击

<a href="#" class="none_standard_links">link one</a> 

之前的链接被点击

<a href="#" class="none_standard_links">testlink one</a> 

我想要的是这样的:

test<a href="#" class="none_standard_links">link one</a> 

回答

2

您可以使用before

$(document).ready(function(){ 
    $(".none_standard_links").live('click', function(event) 
    { 
     $(this).before("test"); 
    }); 
}); 

Live example

+0

我不知道为什么我放弃了`event.preventDefault();从`。 FWIW,没有理由,它不是解决方案的一部分。 – 2011-01-26 15:56:24

1

尝试使用.before

$(this).before('something'); 

您可以使用.insertBefore,但它是稍微麻烦,因为你必须明确地创建一个文本节点:

$(document.createTextNode("hello")).insertBefore("a"); 

Try them here.

2

而是前置的()使用before()

所以它看起来像:

$(document).ready(function(){ 
    $(".none_standard_links").live('click', function(event) 
    { 
     event.preventDefault(); 
     $(this).before("test"); 
    }); 
}); 
1

使用$.before

$(this).before("test");