我在我的HTML在頁面加載時用jQuery替換文本字符串?
<p>6565655655|cell</p>
我想刪除這個垂直線,敷詞「細胞」成圓形支架下面的代碼。所以,我要像下面
<p>6565655655 (cell)</p>
我如何使用jQuery可以做到這一點時,輸出動態p標籤加載通過Ajax調用的內容。
我在我的HTML在頁面加載時用jQuery替換文本字符串?
<p>6565655655|cell</p>
我想刪除這個垂直線,敷詞「細胞」成圓形支架下面的代碼。所以,我要像下面
<p>6565655655 (cell)</p>
我如何使用jQuery可以做到這一點時,輸出動態p標籤加載通過Ajax調用的內容。
用管道作爲分隔符分割p標籤的內容,並重新插入如此創建的數組,第二個元素與周圍的括號。
這裏的示例:
var splittedString = $("p").text().split("|");
$("p").html(splittedString[0] + " (" + splittedString[1] + ")");
的jsfiddle:http://jsfiddle.net/r3c4J/
幾種方法做到這一點:
var text = '6565655655|cell';
方法1:
var parts = text.split('|');
$('p').text(parts[0] + ' (' + parts[1] + ')');
方法2:
$('p').text(text.replace('|cell', ' (cell)');
方法3:
$('p').text(text.replace(/([0-9]+)\|(.*)/, '$1 ($2)'));
你可以做這樣的:
$('p').each(function() {
var $txt = $(this).text();
if ($txt.indexOf('|') > 0) {
var txtArray = $txt.split('|');
$(this).html(txtArray[0] + ' (' + txtArray[1] + ')');
}
});
:
success: function(data)
{
$(data).find("p").each(function(index,element){
var pipe = element.innerHTML.indexOf("|");
if(pipe != -1){
element.innerHTML.replace("|","(");
element.innerHTML += ")";
}
}
//continue with placing data on the page.
}
你也可以耕種了這一點成一個函數,所以你可以把它當第一次加載頁面太
function replacePipe(element)
{
$(element).find("p").each(function(index,el){
var pipe = el.innerHTML.indexOf("|");
if(pipe != -1){
el.innerHTML.replace("|","(");
el.innerHTML += ")";
}
}
}
這將使得阿賈克斯成功是這樣的:
success: function(data)
{
replacePipe(data);
//place data, perhaps $(tar).html(data);
}
,你可以這樣做這太的onload
window.onload = function(){
replacePipe(document.body);
};
如果添加一個類名的段落標記,然後你也可以使用下面的...
HTML部分 -
<p class="item">6565655655|cell</p>
jQuery的一部分
$(document).ready(function() {
var aText = ($('.item').html()).split('|');
$('.item').html(aText[0] + " (" + aText[1] + ")");
});
歡迎的StackOverflow!你到目前爲止做了什麼來完成這個任務? –