javascript - Kaedah shift() js tidak sah?
滿天的星座
滿天的星座 2017-07-05 10:45:34
0
4
1080

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?

滿天的星座
滿天的星座

membalas semua(4)
扔个三星炸死你

Tatasusunan kelas bukan tatasusunan, dan tiada API berkaitan yang mewarisi tatasusunan
Anda boleh menggunakan panggilan atau memohon untuk mengikat ini,
Sebagai contoh

var r = [].shift.call(a)

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.

<ul class="demo">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
</ul>
</body>

<script>
    var l = document.getElementsByClassName("demo")[0];
    var a = l.children;
    var arry = [...a];
    var r=arry.shift();
    console.log(r);
</script>
大家讲道理

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan