конвертировать тег привязки для вставки в jquery - PullRequest
0 голосов
/ 17 марта 2020

Я хочу преобразовать якорь, содержащий .pdf в href с тегом embed и href, в sr c

<a href="www.google.com/pdf">Hello this is test</a>

Это нужно изменить в теге embed: как показано ниже:

<embed src="www.google.com/pdf">

Ответы [ 3 ]

1 голос
/ 17 марта 2020

Для этого используйте replaceWith(). Предоставьте функцию для вызова метода, которая возвращает новое содержимое, например:

$('a').replaceWith(function() {
  return `<embed src="${this.href}" />`;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="https://www.google.com/pdf">Hello this is test</a>

Обратите внимание, что вам нужно включить протокол в абсолютный URL. Начиная с www не будет работать.

0 голосов
/ 17 марта 2020

Просто замените внешний HTML.

$('a').each(function () {
    if (this.href.indexOf('pdf')) {  // checks whether href contains pdf
          this.outerHTML = "<embed src=" + this.href + ">";
    }
});
0 голосов
/ 17 марта 2020

Вот чистое JavaScript решение, когда вы не хотите jQuery:

const a = document.querySelector('a');
const e = document.createElement('embed');
e.setAttribute('src', a.href)
const aParent = a.parentElement;
const aNextSibling = a.nextElementSibling;

if (aNextSibling) {
  aParent.insertBefore(e, aNextSibling);
} else {
  aParent.appendChild(e);
}
a.remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...