如何加载网址并检查点击链接的事件?

时间:2014-07-22 14:07:03

标签: javascript jquery html parsing google-chrome-extension

我正在尝试加载一个url,然后检查一个特定的锚文本,现在我想设置一个点击该anchar标签的事件。我怎么能这样做?到目前为止我的代码:

$.get(y, function(data) {
    console.log(data);
    $(data).find('a').each(function() {
        console.log($(this).text());
        if($(this).text().indexOf("Full Text as PDF")>=0)
        {
         alert($(this).text());}
     });

P.S:我试图在Chrome扩展程序中执行此操作。 更新的代码:

chrome.tabs.onActivated.addListener( function(activeInfo){
  chrome.tabs.get(activeInfo.tabId, function(tab){
    y = tab.url;



$.get(y, function(data) {
    console.log(data);
    $(data).find('a').each(function() {
        console.log($(this).text());

        if($(this).text().indexOf("Full Text as PDF")>=0)
        {   alert($(this).text());
            $(this).on("click", function()
            {   console.log("link clicked");
                alert("link clicked");
            });
         }
     });
});
});
});

3 个答案:

答案 0 :(得分:0)

一个小实现是:

$.get(y, function(data) {
   $("#mydiv").html(data); 
   $("#mydiv").find('a').each(function(){
     $(this).on("click",function(e){
         e.preventDefault();
         alert($(this).html());
     });
  });
});

http://jsfiddle.net/vzg6q/

答案 1 :(得分:-1)

假设我正确理解您的要求,您希望将click事件绑定到具有特定文本的所有锚标记。如果是这样,那么沿着这些方向的东西应该起作用:

经过测试和工作。 http://jsfiddle.net/rvrF8/8/

$.get( y, function( data ) 
{
    $( data ).find('a').each(function () 
    {
        var theText = $( this ).text( );
        var desiredText = 'abc';

        if ( theText == desiredText ) 
        {
            $( this ).on('click', function ( ) 
            {
            event.preventDefault( );
            alert( $( this ).text() );
            });
        }
    });
});

答案 2 :(得分:-2)

$(this).live('click', function(event){
  // do something
});