2013-06-20 131 views
1

我找到了關於如何做一個字符串替換所有字符串的好教程,但如何從一個替換爲B?Javascript替換爲

比方說,我們有這個選擇

$('a.mylink') 

這個選擇將返回類似

<a class=​"micro_avatar my_avatar">​</a>​ 
<a href=​"#!/​users/​user_name" style=​"background:​ 
    url(https:​/​/​secure.gravatar.com/​avatar/​randomnumber?size=24&default=mm)​ 
    no-repeat" class=​"micro_avatar">​</a>​ 
http://www.youtube.com/watch?v=_sgu7CioctU 

在網頁,即時通訊測試這一點,會發現該W變化的多個ocurrences(想象一個博客每個職位都有這個內部)。

現在,我們要全部更換ocurrences看起來像這樣

<a class=​"micro_avatar my_avatar">​</a>​ 
<a ** rel='nofollow' ** href=​"#!/​users/​user_name" style=​"background:​ 
    url(https:​/​/​secure.gravatar.com/​avatar/​randomnumber?size=24&default=mm)​ 
    no-repeat" class=​"micro_avatar">​</a>​ 

**<iframe width="560" height="315" src="** http://www.youtube.com/embed/_sgu7CioctU 
**" frameborder="0" allowfullscreen></iframe>** 

訣竅的部分是不是所有的YouTube的鏈接將具有相同的鏈接。

+1

_「這將返回4」_ - 我不明白。數值4沒有意義,四個元素沒有意義,因爲選擇器「a.mylink」不匹配你顯示的html。 '$('a.mylink')'與你的其餘問題有什麼關係?您是說第一個代碼塊實際上是一個字符串的內容,並且您想要將其更改爲第二個代碼塊,或者是文檔正文中的某個位置,或者......? – nnnnnn

回答

1

試試這個,

更新

HTML

<span class="youtube_url">http://www.youtube.com/embed/_sgu7CioctU</span> 

SCRIPT

$('.micro_avatar:not(.my_avatar)').attr('rel',nofollow); 
$('<iframe>', { 
    src: $('.youtube_url').text(), 
    id: 'myFrame', 
    width: 560, 
    allowfullscreen: true, 
    height:350 
}).appendTo('body'); 
+0

這裏的問題是youtube Url不是同一個,所以我們必須解析每個案例的url id – Nonyck

+0

你應該將'youtube url'存儲在一個元素中,然後你可以在'script'中獲取。檢查上面的答案,我已經做了修改。 –