Bagaimanakah Saya Boleh Menebalkan Rentetan Teks Khusus dengan Cekap dalam Kandungan Dimuat Secara Dinamik Menggunakan jQuery?

Patricia Arquette
Lepaskan: 2024-11-24 18:53:14
asal
985 orang telah melayarinya

How Can I Efficiently Bold Specific Text Strings within Dynamically Loaded Content Using jQuery?

Mencari dan Menebalkan Rentetan Teks dengan jQuery

Mencari rentetan teks tertentu dalam elemen dan mengubah suai penampilannya adalah tugas biasa apabila bekerja dengan kandungan dinamik. Dalam jQuery, mencapai ini boleh dilakukan dengan cekap. Walau bagaimanapun, jika pendekatan awal anda tidak menghasilkan hasil yang diingini, mari kita selesaikan masalah dan cari penyelesaian.

Coretan kod yang anda berikan bertujuan untuk menebalkan teks yang mengandungi rentetan "genre silang" dalam elemen dengan ID " tentang_kediaman." Walaupun niatnya jelas, terdapat ralat kecil dalam pelaksanaannya:

$('#about_theresidency:contains("cross genre")').css({'font-weight':'bold'});
Salin selepas log masuk

Isunya terletak pada pemilih ":contains", yang tidak berfungsi dengan baik apabila teks dimuatkan secara dinamik seperti yang telah anda huraikan . Untuk menyasarkan teks yang diingini dengan berkesan, kita boleh menggunakan fungsi replace() bersama-sama dengan html():

var html = $('p').html();
$('p').html(html.replace(/cross genre/gi, '<strong>$&</strong>'));
Salin selepas log masuk

Kod ini menggantikan teks "genre silang" dengan versi teg yang kuat, dengan berkesan menebalkannya.

Sebagai alternatif, anda juga boleh mencipta pemalam tersuai untuk merangkum fungsi ini:

$.fn.wrapInTag = function(opts) {

  var tag = opts.tag || 'strong'
    , words = opts.words || []
    , regex = RegExp(words.join('|'), 'gi') // case insensitive
    , replacement = '<' + tag + '>$&<\/' + tag + '>';

  return this.html(function() {
    return $(this).text().replace(regex, replacement);
  });
};

// Usage
$('p').wrapInTag({
  tag: 'em',
  words: ['world', 'red']
});
Salin selepas log masuk

Dengan pemalam ini, anda kini boleh menggunakan kaedah wrapInTag() untuk membungkus perkataan yang ditentukan dalam teg yang diingini, cth., 'em' untuk penekanan atau 'strong' untuk tebal.

Dengan memasukkan pembetulan ini, anda boleh mencari dan mengubah suai teks dengan cekap. rentetan dalam kod jQuery anda, memastikan kandungan dinamik dipersembahkan dengan gaya yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menebalkan Rentetan Teks Khusus dengan Cekap dalam Kandungan Dimuat Secara Dinamik Menggunakan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan