Rumah > Artikel > hujung hadapan web > Contoh perbincangan tentang masalah jQuery untuk menentukan sama ada unsur wujud_jquery
Betul, semasa saya melakukan latihan jQuery baru-baru ini, saya menghadapi masalah apabila jQuery menentukan sama ada unsur wujud.
Soalannya adalah seperti berikut: Sila tambahkan Id=rad4 selepas "Pilih Butang 3". Dalam keadaan yang dipilih, kawalan HTML dengan teks "Pilih Butang 4" hanya boleh ditambah sekali (anda boleh memilih untuk menggunakan js native". atau JQuery untuk melaksanakannya)
function addradio() { if (!document.getElementById("rad4")) { var main = document.getElementById("radioContainer"); var input = document.createElement("input"); input.setAttribute("type", "radio"); input.setAttribute("id", "rad4"); var span = document.createElement("span"); var txt = document.createTextNode("选择按钮4"); span.appendChild(txt); main.appendChild(input); main.appendChild(span); } }
Ia cukup untuk menentukan sama ada objek itu wujud. if (!document.getElementById("rad4")) tetapi dalam jQuery if (!$("#rad4")) selalu palsu
Dalam jQuery. Setelah dibalut oleh pembungkus $(""), ia adalah objek, bukan null atau undefined, jadi!$("#rad4")Sentiasa palsu. Pendekatan yang betul adalah seperti berikut
Jika tiada objek dalam pembungkus, panjangnya ialah 0; itu sahaja yang anda perlukan
$(function () { $(".domtree div:eq(6) input:eq(1)").click(function () { if ($("#rad4").length < 1) { $("<input type='radio' id='rad4'> <span>选择按钮4</span>").appendTo($("#radioContainer")); } } ) } )