Jadual Kandungan
Buat, manipulasi dan tambah HTML secara dinamik
摸索index()方法
摸索 text() 方法
使用正则表达式更新或删除字符
摸索 .contents() 方法
使用remove()不会从包装集中删除元素
Rumah hujung hadapan web tutorial js jQuery yang ringkas dan mudah difahami: operasi jQuery

jQuery yang ringkas dan mudah difahami: operasi jQuery

Sep 03, 2023 pm 10:09 PM
pemilih animasi peristiwa

jQuery yang ringkas dan mudah difahami: operasi jQuery

Buat, manipulasi dan tambah HTML secara dinamik

Anda boleh membuat penanda HTML secara dinamik dengan menghantar rentetan HTML mentah ke fungsi jQuery.

<!DOCTYPE html>
<html lang="en">
<body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function($){
      alert($('<div><a></a></div>').get(0).nodeName); // Alerts "DIV"
      alert($('<div><a></a></div>').length); // Alerts "1" <div> is in the wrapper set
      alert($('<div><a></a></div><div><a></a></div>').length); // Alerts "2" <div> are in the set
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

Perlu diambil perhatian bahawa apabila menggunakan fungsi jQuery untuk mencipta struktur DOM, hanya elemen akar dalam struktur akan ditambahkan pada set pembalut. Dalam contoh kod sebelumnya, elemen <div> akan menjadi satu-satunya elemen dalam set pembalut. <div> 元素将是包装器集中的唯一元素。

一旦创建了 HTML 结构中的任何元素,我们就可以使用 find() 方法对其进行操作。

<!DOCTYPE html>
<html lang="en">
<body>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
        (function ($) {
            $('<div><a></a></div>')
                 .find('a')
                .text('jQuery')
                .attr('href', 'http://www.jquery.com');
        })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

对新创建的 HTML 进行操作后,还可以使用 jQuery 的操作方法之一将其添加到 DOM 中。下面我们使用 appendTo() 方法将标记添加到页面。

<!DOCTYPE html>
<html lang="en">
<body>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function($){  $('<div><a></a></div>')
      .find('a')
      .text('jQuery')
      .attr('href', 'http://www.jquery.com')
      .end().appendTo('body'); // end() is used to exit the find() method
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

注释:不包含属性的简单元素 - 例如$('<div>

') - 通过 document.createElement DOM 方法创建,而所有其他情况都依赖于 innerHTML 属性。事实上,您可以直接向 jQuery 函数传递使用 document.createElement -e.g 创建的元素。 $(document.createElement('div'))

传递给 jQuery 的 HTML 字符串不能包含在 <div> 元素内可能被视为无效的元素。

传递给 jQuery 函数的 HTML 字符串必须格式正确。

传递 jQuery HTML 时,您应该打开和关闭所有 HTML 元素。不这样做可能会导致错误,主要是在 Internet Explorer 中。为了安全起见,请始终关闭 HTML 元素并避免编写快捷 HTML - 例如$(<div />).


摸索index()方法

您可以通过将元素传递给 index() 方法来确定包装集中元素的索引。例如,假设您有一个包含网页中所有 <div> 元素的包装集,并且您想知道最后一个 <div> 元素的索引。

<!DOCTYPE html>
<html lang="en">
<body>
    <div>0</div>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function ($) {
      // Alerts "3"
      alert($('div').index($('div:last')));
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

index() 的使用并没有真正击中要害,直到我们考虑如何将它与事件一起使用。例如,通过点击下面代码中的 <div> 元素,我们可以将点击的 <div> 元素(使用关键字 this)传递给 index() 方法来确定点击的 <div> 的索引。

<!DOCTYPE html>
<html lang="en">
<body>
    <div id="nav">
        <div>nav text</div>
        <div>nav text</div>
        <div>nav text</div>
        <div>nav text</div>
        </div>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
            <script>  (function ($) {
      // Alert index of the clicked div amongst all div's in the wrapper set
      $('#nav div').click(function () {
          alert($('#nav div').index(this));
          // or, a nice trick...
          alert($(this).prevAll().length);
      });
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

摸索 text() 方法

人们可能会错误地认为 text() 方法仅返回包装器集中第一个元素的文本节点。但是,它实际上会连接包装器集中包含的所有元素的文本节点,然后将连接后的值作为单个字符串返回。确保您了解此功能,否则您可能会得到一些意想不到的结果。

<!DOCTYPE html>
<html lang="en">
<body>
    <div>1,</div>
    <div>2,</div>
    <div>3,</div>
    <div>4</div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script> (function ($) {
     alert($('div').text()); // Alerts "1,2,3,4"
 })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

使用正则表达式更新或删除字符

使用 JavaScript replace() 方法结合一些 jQuery 功能,我们可以非常轻松地更新或删除元素中包含的文本中的任何字符模式。

<!DOCTYPE html>
<html lang="en">
<body>
    <p>
        I really hate using JavaScript.     I mean really hate it!     It is the best twister
        ever!
    </p>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function ($) {
var $p = $('p');
      // Replace 'hate' with 'love'
      $p.text($p.text().replace(/hate/ig, 'love'));
      // Remove 'twister' and replace it with nothing
      $p.text($p.text().replace(/twister/ig, ''));   // Keep in mind that text() returns a string, not the jQuery object.
      // That is how the replace() string method is chained after using text()
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

您还可以更新从 html() 返回的字符串中包含的任何字符。这意味着您不仅可以更新文本,还可以通过正则表达式更新和替换 DOM 元素。


摸索 .contents() 方法

.contents() 方法可用于查找所有子元素节点,包括元素内部包含的文本节点。然而,有一个问题。如果检索到的内容仅包含文本节点,则所选内容将作为单个文本节点放置在包装器集中。但是,如果您要检索的内容在文本节点中包含一个或多个元素节点,则 .contents() 方法将包含文本节点和元素节点。检查下面的代码以掌握这个概念。

<!DOCTYPE html>
<html lang="en">
<body>
    <p>I love using jQuery!</p>
    <p>I love <strong>really</strong> using jQuery!</p>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function ($) {
      // Alerts "I love using jQuery!" because no HTML elements exist
      alert($('p:first').contents().get(0).nodeValue);
      // Alerts "I love"
      alert($('p:last').contents().get(0).nodeValue);
      // Alerts "really" but is an HTML element, not a text node
      alert($('p:last').contents().eq(1).text());
      // Alerts "using jQuery!"
      alert($('p:last').contents().get(2).nodeValue);
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

请注意,当包装集中的项目是文本节点时,我们必须使用 .get(0).nodeValue 提取值。 contents() 方法对于提取文本节点值很方便。可以使用 contents() 从 DOM 结构中仅提取文本节点。

<!DOCTYPE html>
<html lang="en">
<body>
    <p>jQuery gives me <strong>more <span>power</span></strong> than any other web tool!
    </p>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function($){  $('p')  .find('*') // Select all nodes
      .andSelf() // Include <p>
      .contents() // Grab all child nodes, including text
      .filter(function() {return this.nodeType == Node.TEXT_NODE;}) // Remove non-text nodes
      .each(function (i, text) { alert(text.nodeValue) }); // Alert text contained in wrapper set
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

使用remove()不会从包装集中删除元素

当您使用 remove() 时,来自 DOM 的 DOM 片段已删除的 DOM 结构中包含的元素仍然包含在包装集中。您可以删除一个元素,对该元素进行操作,然后将该元素实际放回到 DOM 中,所有这些都在单个 jQuery 链中。

<!DOCTYPE html>
<html lang="en">
<body>
    <div>remove me</div>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>  (function ($) {
      $('div')
          .remove().html('<a href="http://www.jQuery.com">jQuery</a>')
          .appendTo('body');
  })(jQuery); </script>
</body>
</html>
Salin selepas log masuk

这里的要点是,仅仅因为您 remove()

Setelah mana-mana elemen dalam struktur HTML dicipta, kami boleh mengendalikannya menggunakan kaedah find(). 🎜 rrreee 🎜Selepas memanipulasi HTML yang baru dibuat, anda juga boleh menambahkannya pada DOM menggunakan salah satu kaedah manipulasi jQuery. Di bawah kami menggunakan kaedah appendTo() untuk menambah markup pada halaman. 🎜 rrreee 🎜Nota: Elemen ringkas tanpa atribut - cth. $('<div>
') - melalui kaedah DOM document.createElement, semua kes lain bergantung pada atribut innerHTML. Malah, anda boleh menghantar terus elemen yang dicipta menggunakan document.createElement -cth kepada fungsi jQuery. $(document.createElement('div')). 🎜 🎜Rentetan HTML yang dihantar ke jQuery tidak boleh terkandung dalam elemen <div> yang mungkin dianggap tidak sah. 🎜 🎜Rentetan HTML yang dihantar ke fungsi jQuery mesti dibentuk dengan baik. 🎜 🎜Apabila menghantar HTML jQuery, anda harus membuka dan menutup semua elemen HTML. Kegagalan berbuat demikian boleh mengakibatkan ralat, terutamanya dalam Internet Explorer. Untuk selamat, sentiasa tutup elemen HTML dan elakkan menulis HTML pintasan - seperti $(<div>
).🎜
🎜Meneroka kaedah indeks()🎜 🎜Anda boleh menentukan indeks elemen dalam set berbalut dengan menghantar elemen ke kaedah index(). Sebagai contoh, katakan anda mempunyai set pembalut yang mengandungi semua elemen <div> dalam halaman web dan anda ingin mengetahui indeks elemen <div> yang terakhir. 🎜 rrreee Penggunaan 🎜index() tidak begitu berkesan sehingga kami mempertimbangkan cara menggunakannya dengan acara. Contohnya, dengan mengklik pada elemen <div> dalam kod di bawah, kita boleh menghantar elemen <div> yang diklik (menggunakan kata kunci this >) Berikan kaedah index() cara untuk menentukan indeks <div> yang diklik. 🎜 rrreee
🎜Meneroka kaedah teks()🎜 🎜Orang ramai mungkin tersalah anggap bahawa kaedah text() hanya mengembalikan nod teks elemen pertama dalam set pembalut. Walau bagaimanapun, ia sebenarnya menggabungkan nod teks semua elemen yang terkandung dalam set pembalut dan mengembalikan nilai yang digabungkan sebagai rentetan tunggal. Pastikan anda memahami ciri ini atau anda mungkin mendapat beberapa hasil yang tidak dijangka. 🎜 rrreee
🎜Kemas kini atau padam aksara menggunakan ungkapan biasa🎜 🎜Menggunakan kaedah JavaScript replace() digabungkan dengan beberapa fungsi jQuery, kami boleh mengemas kini atau mengalih keluar sebarang corak aksara dalam teks yang terkandung dalam elemen dengan sangat mudah. 🎜 rrreee 🎜Anda juga boleh mengemas kini mana-mana aksara yang terkandung dalam rentetan yang dikembalikan daripada html(). Ini bermakna anda bukan sahaja boleh mengemas kini teks, tetapi juga mengemas kini dan menggantikan elemen DOM melalui ungkapan biasa. 🎜
🎜Meneroka kaedah .contents()🎜 Kaedah 🎜.contents() boleh digunakan untuk mencari semua nod elemen anak, termasuk nod teks yang terkandung dalam elemen. Walau bagaimanapun, terdapat masalah. Jika kandungan yang diambil hanya mengandungi nod teks, pemilihan akan diletakkan dalam set pembalut sebagai satu nod teks. Walau bagaimanapun, jika kandungan yang anda dapatkan mengandungi satu atau lebih nod elemen dalam nod teks, kaedah .contents() akan mengandungi kedua-dua nod teks dan nod elemen. Semak kod di bawah untuk memahami konsep ini. 🎜 rrreee 🎜Sila ambil perhatian bahawa apabila item dalam set pembalut ialah nod teks, kita mesti menggunakan .get(0).nodeValue untuk mengekstrak nilai. Kaedah contents() adalah mudah untuk mengekstrak nilai nod teks. Anda boleh menggunakan contents() untuk mengekstrak nod teks sahaja daripada struktur DOM. 🎜 rrreee
🎜Menggunakan remove() tidak akan mengeluarkan elemen daripada set yang dibalut🎜 🎜Apabila anda menggunakan remove(), elemen yang terkandung dalam struktur DOM dari mana serpihan DOM telah dialih keluar masih disertakan dalam set pembalut. Anda boleh mengalih keluar elemen, melakukan operasi pada elemen itu, dan kemudian meletakkan elemen itu semula ke dalam DOM, semuanya dalam rantai jQuery tunggal. 🎜 rrreee 🎜Maksudnya di sini ialah hanya kerana anda remove() elemen tidak bermakna ia telah dialih keluar daripada set pembungkus jQuery. 🎜

Atas ialah kandungan terperinci jQuery yang ringkas dan mudah difahami: operasi jQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Bagaimana saya membuat dan menerbitkan perpustakaan JavaScript saya sendiri? Mar 18, 2025 pm 03:12 PM

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Bagaimanakah saya mengoptimumkan kod JavaScript untuk prestasi dalam penyemak imbas? Mar 18, 2025 pm 03:14 PM

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Bagaimanakah saya boleh debug kod javascript dengan berkesan menggunakan alat pemaju pelayar? Mar 18, 2025 pm 03:16 PM

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Bagaimanakah saya menggunakan peta sumber untuk debug kod JavaScript minified? Mar 18, 2025 pm 03:17 PM

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Apr 04, 2025 pm 05:09 PM

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

See all articles