javascript
  • jquery
  • 2013-07-04 82 views 0 likes 
    0

    我有一個字符串,我試圖在該字符串中找到一個關鍵字並將其替換。我試過使用search(),它返回關鍵字的位置。我也嘗試過使用replace("this is what i want to replace", $(this))在字符串中查找關鍵字並替換它

    我基本上是試圖完成是這樣的:我有以下YQL語句:

    $reCat = 'http://query.yahooapis.com/v1/public/yql?q=select * from html where url=\'http://reddit.com/\'and xpath=\'//div[@class="drop-choices srdrop"]//a[@class="choice"]\'&format=json&callback=?';

    這使我在不同的/ R /的Reddit上的列表。當我點擊其中的一個時,我想單擊一個(例如http://reddit.com/r/askreddit)來替換我的yql語句中的當前url。

    下面是一些不工作的嘗試:

    $('#cat1 > li > a').click(function(){ 
        var url = $reCat; 
        var final = url.replace("http://reddit.com", $(this)); 
        $('#cat1').append('<li><a href="#">' + final + '</a></li>'); 
    }); 
    

    $('#cat1 > li > a')是在類別列表放置。我只是將它追加到列表中以查看我的字符串是否更改,哪些不更改。

    的另一種嘗試:

    $('#cat1 > li > a').click(function(){ 
        var reddit = 'http://reddit.com' 
        var pos = $reCat.search(reddit); 
        var url = $reCat; 
        var result = [url.slice(0, pos), $(this), url.slice(pos)].join(''); 
        alert(result); 
    }); 
    

    幫助深表感謝!

    +0

    什麼是你想用來替換reddit.com? – raam86

    回答

    1

    在我看來,您正在嘗試使用#cat1 > li > ahref作爲替代值。如果是這樣的話,只需要改變你的REPLACE語句來

    var final = url.replace("http://reddit.com", $(this).prop('href')); 
    

    您還可以使用$(this).attr('href')

    +0

    謝謝。就是這樣! –

    相關問題