Многократное добавление значения JavaScript внутри тега ins - PullRequest
0 голосов
/ 02 августа 2020

У меня есть этот код ~

<!-- ONE -->
    <ins class='adsbygoogle'
        style='display:block'
        data-ad-client='ca-pub-XXXXXXXXXXXXXXX'
        data-ad-format='auto'
        data-full-width-responsive='true'></ins>

<!-- TWO -->
    
    <ins class='adsbygoogle'
        style='display:block'
        data-ad-client='ca-pub-XXXXXXXXXXXXXXX'
        data-ad-format='auto'
        data-full-width-responsive='true'></ins>

(Тот же код, два раза)

Я использую это, чтобы добавить значение "data-ad-slot = 123456789"

<script> 
var x= 123456789;
var elem = document.querySelector('.adsbygoogle');
elem.dataset.adSlot = x;
console.log(elem);
</script>

Но работает только один раз с первым (<!--ONE-->). Как заставить работать с несколькими кодами?

Спасибо!

1 Ответ

1 голос
/ 02 августа 2020

Попробуйте это, вам нужно будет использовать querySelectorAll, который вернет список.

<!DOCTYPE html>
<html>
<head>
    <title>
    </title>
</head>
<body>
    <!-- ONE -->
    <ins class='adsbygoogle' style='display:block' data-ad-client='ca-pub-XXXXXXXXXXXXXXX' data-ad-format='auto'
        data-full-width-responsive='true'></ins>

    <!-- TWO -->
    <ins class='adsbygoogle' style='display:block' data-ad-client='ca-pub-XXXXXXXXXXXXXXX' data-ad-format='auto'
        data-full-width-responsive='true'></ins>
    <script>
        window.addEventListener('load', (event) => {
            var x = 123456789;
            var elems = document.querySelectorAll('.adsbygoogle');
            elems.forEach((elem) => {
                elem.dataset.adSlot = x;    
                console.log(elem);
            });
        });
    </script>
</body>
</html>

Вывод:

<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-XXXXXXXXXXXXXXX" data-ad-format="auto" data-full-width-responsive="true" data-ad-slot="123456789"></ins>

<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-XXXXXXXXXXXXXXX" data-ad-format="auto" data-full-width-responsive="true" data-ad-slot="123456789"></ins>
...