Seperti yang dinyatakan, kodnya adalah seperti berikut:
<ul class="demo">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<script>
var l = document.getElementsByClassName("demo")[0];
var a = l.children;
var r=a.shift();
console.log(r);//报错:a.shift is not a function?
</script>
Objek seperti susunan tidak boleh memanggil kaedah shift api?
Tatasusunan kelas bukan tatasusunan, dan tiada API berkaitan yang mewarisi tatasusunan
Anda boleh menggunakan panggilan atau memohon untuk mengikat ini,
Sebagai contoh
ps: shift juga melibatkan pengendalian kandungan array Saya baru sahaja mencubanya dan memaksa penggunaan panggilan untuk mengalihkan objek array Ia akan melaporkan bahawa panjang objek yang berkaitan tidak boleh diubah suai. adalah disyorkan untuk menggunakan operasi DOM yang berkaitan Contohnya, removeChild tidak akan dikembangkan. Maklumat berkaitan tentang objek tatasusunan DOM boleh didapati dalam mdn, seperti: https://developer.mozilla.org...
Shift akan mengubah suai tatasusunan asal, menyebabkan sifat panjang berubah, tetapi panjang adalah baca sahaja. Ia boleh digunakan dengan cara berikut.
Sudah tentu, shift ialah kaedah tatasusunan Anda boleh menukar tatasusunan kelas kepada tatasusunan dahulu dan kemudian memanggilnya
Array.prototype.slice.call(arraylike);
console.log(a)
Anda boleh lihat:
__proto__:HTMLCollection
Tiada kaedah anjakan dalam HTMLCollection.