Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang jQuery.prop() usage_jquery

Penjelasan terperinci tentang jQuery.prop() usage_jquery

WBOY
WBOYasal
2016-05-16 15:49:361389semak imbas

Fungsi

prop() digunakan untuk menetapkan atau mengembalikan nilai atribut elemen yang dipadankan dengan objek jQuery semasa.

Fungsi ini tergolong dalam objek jQuery (contoh). Jika anda perlu mengalih keluar sifat unsur DOM, gunakan fungsi removeProp().

Tatabahasa

Fungsi ini telah ditambahkan dalam jQuery 1.6. Fungsi prop() mempunyai dua kegunaan berikut:

Penggunaan 1:

jQueryObject.prop( propertyName [, nilai ] )

Tetapkan atau kembalikan nilai propertyName harta yang ditentukan. Jika parameter nilai ditentukan, ini bermakna menetapkan nilai propertyName kepada nilai jika parameter nilai tidak ditentukan, ia bermakna mengembalikan nilai propertyName.

Nilai parameter juga boleh menjadi fungsi prop() akan merentasi dan melaksanakan fungsi berdasarkan semua elemen yang dipadankan. prop() juga akan menghantar dua parameter kepada fungsi: parameter pertama ialah indeks elemen dalam elemen padanan, dan parameter kedua ialah nilai semasa atribut propertyName elemen. Nilai pulangan fungsi ialah nilai yang ditetapkan untuk atribut propertyName elemen.

Penggunaan 2:

jQueryObject.prop( objek )

Tetapkan nilai sebarang bilangan sifat secara serentak dalam bentuk objek. Setiap atribut objek objek sepadan dengan propertyName, dan nilai atribut sepadan dengan nilai.

Nota: Semua operasi "atribut tetapan" fungsi prop() adalah untuk setiap elemen yang dipadankan dengan objek jQuery semasa; semua operasi "atribut membaca" hanya untuk elemen padanan pertama.
Parameter

Sila cari parameter yang sepadan berdasarkan nama parameter yang ditakrifkan dalam bahagian sintaks sebelumnya.

Penerangan Parameter
propertyName Nama harta yang ditentukan oleh jenis String.
value Nilai atribut yang ditentukan oleh jenis pilihan/Objek/Fungsi, atau fungsi yang mengembalikan nilai atribut.
objek Objek yang ditentukan oleh jenis Objek, digunakan untuk merangkum berbilang pasangan nilai kunci dan menetapkan berbilang sifat pada masa yang sama.
Nilai parameter boleh terdiri daripada sebarang jenis termasuk objek dan tatasusunan.

Nilai pulangan

Nilai pulangan fungsi prop() adalah dari sebarang jenis Jenis nilai pulangan bergantung pada sama ada fungsi prop() semasa menjalankan operasi "atribut tetapan" atau operasi "atribut membaca".

Jika fungsi prop() melakukan operasi "setting property", ia mengembalikan objek jQuery semasa itu sendiri; jika ia melakukan operasi "reading property", ia mengembalikan nilai property read.

Jika objek jQuery semasa sepadan dengan berbilang elemen, apabila mengembalikan nilai atribut, fungsi prop() hanya menggunakan elemen padanan pertama di antara mereka. Jika elemen tidak mempunyai atribut yang ditentukan, undefined dikembalikan.

Perbezaan utama antara prop() dan attr(): fungsi prop() menyasarkan atribut elemen DOM (objek Elemen JS) dan fungsi attr() menyasarkan atribut nod dokumen yang sepadan dengan DOM unsur. Untuk butiran, sila lihat perbezaan antara fungsi jQuery attr() dan prop().

Nota

1. Jika atribut jenis d5fd7aea971a85678ba271703566ebfd dan bb9345e55eb71822850ff156dfde57c8 diubah melalui fungsi prop(), ralat akan dilemparkan pada kebanyakan penyemak imbas, kerana atribut ini biasanya tidak dibenarkan untuk ditukar kemudian .

2. Jika anda menggunakan fungsi prop() untuk mengendalikan atribut yang diperiksa, dipilih, dilumpuhkan dan lain-lain elemen borang, jika elemen dipilih (atau dilumpuhkan), ia akan kembali benar, jika tidak (bermakna tiada atribut tersebut dalam HTML), ia akan mengembalikan false.

3. Fungsi prop() juga boleh menetapkan atau mengembalikan atribut tertentu pada objek Elemen elemen DOM, seperti: tagName, selectedIndex, nodeName, nodeType, ownerDocument, defaultChecked, defaultSelected dan atribut lain.

4. Dalam IE9 dan versi terdahulu, jika nilai atribut yang ditetapkan menggunakan fungsi prop() bukan nilai primitif mudah (String, Number, Boolean), dan sebelum elemen DOM yang sepadan dimusnahkan, atribut tidak mempunyai If dikeluarkan, kebocoran memori mungkin berlaku. Jika anda hanya menyimpan data, anda disyorkan supaya menggunakan fungsi data() untuk mengelakkan kebocoran memori.

Contoh & Arahan

Ambil kod HTML berikut sebagai contoh:

Salin kod Kod adalah seperti berikut:
a90cc2847621da1ce91680be941a0b17
39bbed49154d81a25e69bc8d22360e61CodePlayer94b3e26ee717c64999d7867364b1b4a3
f01cab756e4c0e73fb2e1bd6a2318dc9
91981520286605aa61f35fd1b74f36c1
16b28748ea4df4d9c2150843fecfba68

Kami menulis kod jQuery berikut:
var $n2 = $("#n2");
// prop()操作针对的是元素(Element对象)的属性,而不是元素节点(HTML文档)的属性
document.writeln( $n2.prop("data-key") ); // undefined
document.writeln( $n2.prop("data_value") ); // undefined

document.writeln( $n2.prop("id") ); // n2
document.writeln( $n2.prop("tagName") ); // P
document.writeln( $n2.prop("className") ); // demo test
document.writeln( $n2.prop("innerHTML") ); // CodePlayer
document.writeln( typeof $n2.prop("getAttribute") ); // function

// prop()设置的属性也是针对元素(Element对象),因此也可以通过元素本身直接访问
$n2.prop("prop_a", "CodePlayer");
document.writeln( $n2[0].prop_a ); // CodePlayer
var n2 = document.getElementById("n2");
document.writeln( n2.prop_a ); // CodePlayer

// 以对象形式同时设置多个属性,属性值可以是对象、数组等任意类型
$n2.prop( { 
  prop_b: "baike",
  prop_c: 18,
  site: { name: "CodePlayer", url: "http://www.jb51.net/" }
} );
document.writeln( $n2[0].prop_c ); // 18
document.writeln( $n2[0].site.url ); // http://www.jb51.net/

// 反选所有的复选框(没选中的改为选中,选中的改为取消选中)
$("input:checkbox").prop("checked", function(index, oldValue){
  return !oldValue;
});

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

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