我正在尋找和替換文本與jQuery,但發現只有簡單的功能,用其他靜態文本替換靜態文本。我想知道如何用另一個div的內容替換字符串。例如:jQuery查找和替換div的內容
<div class="item-one">blue</div>
<p>My color is item one</p>
我想要做的是用一個類的項目一替換字符串「項目一」與div的內容。我不只想要這個字符串的一個實例,但他們都在頁面上。我真的很感謝任何幫助。謝謝
我正在尋找和替換文本與jQuery,但發現只有簡單的功能,用其他靜態文本替換靜態文本。我想知道如何用另一個div的內容替換字符串。例如:jQuery查找和替換div的內容
<div class="item-one">blue</div>
<p>My color is item one</p>
我想要做的是用一個類的項目一替換字符串「項目一」與div的內容。我不只想要這個字符串的一個實例,但他們都在頁面上。我真的很感謝任何幫助。謝謝
$('p').text($('p').text().replace('item one',$('.item-one').text()));
提示:
ID
您還應該添加一個唯一的ID爲<p>
您可以使用text
方法:
$('p').text(function(i, current){
var c = $('.item-one').text();
return current.replace('item one', c);
})
如果您有更多的元素:
$('p').text(function(i, t) {
var w = t.split(' ')[4];
var c = $('.item-'+w).text();
return t.replace('item '+w, c)
})
Trere兩種方式
首先是使用.replace()函數,可以取代一些靜態文本從格文本像這樣:
$("p").text($("p").text().replace("text", $("#some_text").text()));
但更好的方法是採取文本你想要什麼更改爲「跨度」標籤,並使用text()函數
$("p span").text($(".item-one").text());
你的腳本不做任何事情,因爲文本的改變的價值沒有被保存。 – Cristy
http://jsfiddle.net/BdnPJ/這裏是第二種方式 –
是的,在1函數中我犯了錯誤,這裏是工作版本http://jsfiddle.net/BdnPJ/1/ –
如果你想擁有這完全動態的,並不關心一個div多少班了,而且div的內容應該有多少次是用過的。
$(document).ready(function()
{
var replaceClasses = [];
var currentClasses;
var i = 0;
// Save all classes to be used for replacement in an array
$('div').each(function()
{
currentClasses = $(this).attr('class').split(/\s+/);
for (i; i < currentClasses.length; i++)
{
replaceClasses.push(currentClasses[i].replace('-', ' '));
}
i = 0;
});
// Loop all classes and replace text if applicable
for (i; i < replaceClasses.length; i++)
{
var pText = $('p:contains("' + replaceClasses[i] + '")').text();
$('p:contains("' + replaceClasses[i] + '")').each(function()
{
$(this).text($(this).text().replace(replaceClasses[i], $('.' + replaceClasses[i].replace(' ', '-')).text()));
});
}
});
美麗。工作就像一個魅力:) – skramer