chrome js и jquery: добавить ссылку? - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь добавить текстовую ссылку на страницу YouTube с расширением "user javascript и css". Но следующий код js ничего не делает, и я не уверен, но консоль Chrome, похоже, ничего не сказала о моем js.

$(window).load(function() {
  var ytu = document.getElementsById('eow-title');
  var newlink = document.createElement('a');
  newlink.setAttribute('href', window.location.href);
  newlink.setAttribute('innerHTML', document.title);
  newlink.setAttribute('target', '_blank');
  $(newlink).insertAfter(ytu);
});

Я проверил jquery2.1.0 min опция.

Ответы [ 2 ]

1 голос
/ 20 января 2020

Вы путаете javascript и jQuery Объекты, что является плохой практикой:

$(window).on("load", document, function() {
  var ytu = $('.yt-user-info');
  var newlink = $("<a></a>");
  newlink.attr('href', window.location.href);
  newlink.html("Title: " + document.title);
  newlink.attr('target', '_blank');
  newlink.insertAfter(ytu.eq(0));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="yt-user-info">A</a>
1 голос
/ 20 января 2020

В вашем коде $(window).load() не выполняется после загрузки документа, поэтому chrome может быть проблемой создания. Таким образом, вы должны использовать $(document).ready() метод для изменения DOM.

Другое дело, что вы написали document.getElementsById() не правильно, фактическая функция document.getElementById(). Пожалуйста, проверьте код ниже фрагмента.

$(document).ready(function() {
  var ytu = document.getElementById('eow-title');
  var newlink = document.createElement('a');
  newlink.setAttribute('href', window.location.href);
  newlink.setAttribute('innerHTML', document.title);
  newlink.setAttribute('target', '_blank');
  newlink.innerHTML = "Link";
  $(newlink).insertAfter(ytu);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div>
  <div id="eow-title"></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...