2010-10-26 24 views
5

nếu h2 có từ lớp tôi muốn thêm dấu ngắt.jquery thêm <br> đến h2 nếu h2 chứa từ này

tiêu đề được gọi là động, trang web là html nên tôi không thể sử dụng php trên bất kỳ thứ gì.

heres h2

11/400-5 4 LỚP THỰC NGHIỆM LỐP MÁY BAY LỐP

muốn nó trông giống như

11/400-5 4 LỚP này
NGHIỆM LỐP MÁY BAY LỐP

để bất kỳ tựa đề nào có từ PLY trong đó sẽ thêm dấu ngắt ngay sau từ đó.

lẽ khá dễ dàng cho tất cả yous ngoài kia =)

Trả lời

7

Ví dụ:http://jsfiddle.net/DbJ2V/

$('h2:contains(" PLY ")').html(function(i,htm) { 
    return htm.replace(" PLY ", " PLY<br/>"); 
}); 
+0

gì nếu bạn có các tab, không gian, ở hai bên? –

+0

tôi chỉ có thể tinh chỉnh nội dung mà tôi có thể xem nó hoạt động như thế nào. cảm ơn công trình này tuyệt vời – Alex

2

Hãy thử trả lời thay vì bình luận:

$("h2:contains('PLY')").each(function() { 
    $(this).html($(this).html().replace(/(\WPLY\W)/g, "$1<br />")); 
}); 

Đầu tiên chúng ta tìm kiếm bất kỳ h2 với văn bản 'PLY', sau đó thay thế nó, nếu nó thực sự không phải là một phần của một từ (ví dụ: -PLY sẽ khớp, _PLY sẽ không, đổ lỗi cho các từ được cho là một phần của từ và cái gì không), với cùng một nội dung cộng với một <br />.

+0

'\ b' sẽ là tốt quá, thay vì' \ W', phụ thuộc vào sự lựa chọn. Tôi thực sự đã không đặt nhiều suy nghĩ mà sẽ là tốt nhất trong trường hợp này (và thực sự, một '\ s' đơn giản hoặc chỉ là không gian có thể là đủ). –

0

Hãy thử:

$(document).ready(function() { 
    $("#content h2:contains(' PLY ')").each(function(k,v) { 
     t = $(v).text(); 
     $(v).html(t.replace(" PLY ", " PLY<br/>")); 
    }); 
}); 
Các vấn đề liên quan