2011-11-16 49 views
35
<div id="id1"> 
<p> 
    apple 
</p> 
<p> 
    ball 
</p> 
<p> 
    cat 
</p> 
<p> 
    dogsss 
</p> 
</div> 

Làm cách nào để thay đổi dogsss thành dollsss bằng cách sử dụng jquery?Jquery: Tìm Văn bản và thay thế

+0

Không, Tkz cho tất cả, Nhưng bạn đã hiểu lầm ý nghĩa của tôi .. 'sss' là một văn bản mà tôi sẽ không biết những gì nó sẽ b chính xác .. Nhưng tôi muốn thay đổi' con chó' để 'búp bê ' – william

+0

để C# thay thế 'string temp =" nếm "; temp = temp.Replace (" tast "," test ");' sth như thế. – william

Trả lời

67

Bạn có thể thử

$('#id1 p').each(function() { 
    var text = $(this).text(); 
    $(this).text(text.replace('dog', 'doll')); 
}); 

http://jsfiddle.net/2EvGF/

Bạn có thể sử dụng thay vì .html() và/hoặc tiếp tục pha rượu các .replace() cuộc gọi theo yêu cầu của bạn

9
$('p:contains("dogsss")').text('dollsss'); 
+0

Điều này sẽ thay đổi 'dogsss' thành' doll' –

+3

@EricC Câu hỏi đã được cập nhật sau khi tôi trả lời –

8

thử này,

$('#id1').html($('#id1').html().replace('dogsss','dollsss')); 

working sample

+0

@JohnHartsock: xem mẫu làm việc. nó đang cập nhật. hy vọng bạn bỏ lỡ phần html đã đặt :) –

5

cụ thể hơn:

$("#id1 p:contains('dog')").text($("#id1 p:contains('dog')").text().replace('dog', 'doll')); 
+0

Được sử dụng '.html()' thay vì '.text()' để giữ các thẻ HTML. – itskawsar

0

tôi đang tìm kiếm một cái gì đó tương tự và tôi sử dụng mã mà Doug Owings đăng, nhưng văn bản của tôi có một số thẻ br và mã đã xóa nó.

Vì vậy, tôi sử dụng này: (Chỉ cần lưu ý rằng tôi thay .text() để .html())

Text:

< p class = "textcontent" > 
    Here some text replace me 
    <br> here an other text 
    <br> here is more text 
< /p> 

JS:

$('.textcontent').each(function() { 

    var text = $(this).html(); 
    $(this).html(text.replace('replace me', 'I love this text')); 

}); 

Cũng nếu bạn muốn chỉnh sửa nhiều văn bản, hãy tạo một mảng:

var replacetext = { 
    "Text 0": "New Text 0", 
    "Text 1": "New Text 1", 
    "Text 2": "New Text 2", 
    "Text 3": "New Text 3", 
    "Text 4": "New Text 4" 
}; 

$.each(replacetext, function(txtorig, txtnew) { 
    var text = $('#parentid').html(); 
    $('#parentid').html(text.replace(txtorig, txtnew)); 
}); 
+0

cách sử dụng tính năng này cho nhiều bản ghi có cùng id hoặc cùng một lớp? – Super

3

Để kiểm tra phương pháp tìm và thay thế.Bạn cũng có thể sử dụng cách đơn giản.

var string ='my string' 
var new_string = string.replace('string','new string'); 

alert(string); 
alert(new_string); 
+0

JavaScript thuần túy luôn tốt hơn! – Shadowbob

0

Joanna Avalos Câu trả lời là tốt hơn, Chỉ cần lưu ý rằng tôi thay .text()-.html(), nếu không, một số các yếu tố html bên trong đó sẽ bị phá hủy.

Các vấn đề liên quan