我有一个字符串,我试图在该字符串中找到一个关键字并替换它。我试过使用search(),它返回关键字的位置。我也尝试过使用replace("this is what i want to replace", $(this))。
我基本上想要完成的是:我有以下yql-statement:
$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=?';
当我点击它们中的一个时,我希望我点击的那个(例如http://reddit.com/r/askreddit)来替换我的yql-statement中的当前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);
});非常感谢您的帮助!
发布于 2013-07-05 06:34:12
在我看来,您正在尝试使用#cat1 > li > a的href作为替换值。如果是这样,只需将您的replace语句更改为
var final = url.replace("http://reddit.com", $(this).prop('href'));您也可以使用$(this).attr('href')
https://stackoverflow.com/questions/17478818
复制相似问题