Могу ли я прикрепить класс / идентификатор к ссылке, которую я программно вставляю с использованием JavaScript?

0

Я использую следующий код, чтобы вставить ссылку на текущий выделенный текст:

document.execCommand('CreateLink', false, 'link.com')

Это отлично работает, но мне очень хотелось бы вставлять класс /id с этой ссылкой, чтобы упростить стилизацию с помощью CSS. Как это можно сделать?

Теги:
hyperlink

1 ответ

2
Лучший ответ

Вы можете добавить класс, присвоив свойству className элемента DOM:

someElement.className = 'myClass';

Обратите внимание, что document.execCommand является изобретением IE, оно не является межсерверным. Вместо этого используйте:

var link = document.createElement('a');
link.href = 'link.com';
link.className = 'someClass';
link.id = 'someID';
link.appendChild(document.createTextNode('link.com'));
  • 0
    Спасибо за ответ! Я использую это для UIWebView в приложении iOS, и это удобно, потому что он берет уже выделенный текст и создает ссылку вокруг этого диапазона. Можно ли сделать то же самое с помощью вашего метода, упомянутого выше?
  • 1
    Метод выше только создает элемент A и вставляет его в документ, он ничего не заменяет. Вы можете адаптировать вышеприведенное, чтобы довольно легко заменить диапазон, например, превратить диапазон в отдельный узел (например rangeNode.parentNode.replaceChild(link, rangeNode); to HTML element ), а затем заменить этот узел на A, используя что-то вроде rangeNode.parentNode.replaceChild(link, rangeNode); ,

Ещё вопросы

Сообщество Overcoder
Наверх
Меню