#jquery
#jquery
Вопрос:
<span>Autre contact :</span>
<label id="Autre contact :" for="">Autre contact :</label>
как я могу преобразовать диапазон в метку? и добавляет идентификатор и атрибут for?
Счастливой пятницы 🙂
Комментарии:
1. Не отвечаю на ваш вопрос, но у вас есть пробелы в вашем
id
атрибуте, что делает его недействительным. Это ваше намерение?2. -1. Вы вообще что-нибудь пробовали? Это так же просто, как javascript и jquery.
Ответ №1:
Я думаю, это сделает то, что вы ищете. Конечно, есть варианты с тем же результатом.
//use a jquery selector to grab the span
var span = $("span");
//generate a label object
var label = $("<label id='Something' for=''>Label Text</label>");
//replace the span
span.replaceWith(label);
Ответ №2:
$('span').replaceWith(function () {
var idAndText = $(this).text();
return '<label id="' idAndText ' for="">' idAndText '</label>';
});
Идентификаторы заметок не должны содержать пробелов. Поэтому вы можете захотеть изменить свой HTML или изменить идентификатор в функции выше.
Комментарии:
1. 1: Это хорошо, но мне интересно, почему noones использует
attr()
функцию для присвоения атрибутов? Какая-то конкретная причина?2. @JamesJohnson У меня действительно нет причин. Функция replaceWith принимает элементы HTML DOM, объекты jQuery или и строку HTML. Я просто вернул HTML-строку для быстрого понимания.
Ответ №3:
Другие предлагали аналогичные решения, но вот немного другой способ:
$("#myspan").replaceWith(
$("<label>").attr({ "id" : "myLabel", "value" : "foo", "for" : "otherElement" }));