Rumah >hujung hadapan web >tutorial js >Cara Mengakses Atribut Data dalam JavaScript: Mengapa `this.typeId` Tidak Berfungsi dan Bagaimana Menggunakan `set data` Sebaliknya?

Cara Mengakses Atribut Data dalam JavaScript: Mengapa `this.typeId` Tidak Berfungsi dan Bagaimana Menggunakan `set data` Sebaliknya?

DDD
DDDasal
2024-10-26 06:42:301061semak imbas

How to Access Data Attributes in JavaScript: Why `this.typeId` Doesn't Work and How to Use `dataset` Instead?

Mendapatkan Atribut Data dalam JavaScript

Dalam elemen HTML, atribut data menyediakan cara yang mudah untuk menyimpan maklumat tambahan. Walau bagaimanapun, mengakses atribut ini dalam JavaScript boleh menjadi rumit. Mari kita mendalami isu khusus dan teroka penyelesaiannya.

Cabaran

Pertimbangkan kod HTML berikut:

<code class="html"><span data-typeId="123" data-type="topic" data-points="-1" data-important="true" id="the-span"></span></code>

Dalam JavaScript, kami berhasrat untuk mendapatkan semula atribut data ini dan gunakannya dalam objek JSON, seperti yang ditunjukkan di bawah:

<code class="javascript">document.getElementById("the-span").addEventListener("click", function() {
  var json = JSON.stringify({
    id: parseInt(this.typeId),
    subject: this.datatype,
    points: parseInt(this.points),
    user: "H. Pauwelyn"
  });
});</code>

Walau bagaimanapun, percubaan untuk mengakses atribut data menggunakan this.typeId, this.datatype dan this.points menghasilkan null.

Penyelesaian

Untuk mengakses atribut data dalam JavaScript, kami mesti menggunakan sifat dataset. Berikut ialah kod yang diubah suai yang mencapai matlamat kami:

<code class="javascript">document.getElementById("the-span").addEventListener("click", function() {
  var json = JSON.stringify({
    id: parseInt(this.dataset.typeid),
    subject: this.dataset.type,
    points: parseInt(this.dataset.points),
    user: "Luïs"
  });
});</code>

Objek JSON yang terhasil akan mengandungi data yang diingini:

<code class="json">{ "id": 123, "subject": "topic", "points": -1, "user": "Luïs" }</code>

Dengan memanfaatkan sifat set data, kami boleh mendapatkan semula atribut data dengan mudah dalam JavaScript, membolehkan kami menggunakan nilai mereka dalam kod kami.

Atas ialah kandungan terperinci Cara Mengakses Atribut Data dalam JavaScript: Mengapa `this.typeId` Tidak Berfungsi dan Bagaimana Menggunakan `set data` Sebaliknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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