Вот мой HTML:
<div class="productAttributeRow productAttributeConfigurablePickListSet" id="6921e34863c90e71a28b72aaa26e1af4">
<div class="productAttributeLabel">
<label for="c63471e76af04e3ff10e3b568d54e012">
<span class="name">Add Matching Panties (6905):</span>
</label>
</div>
<div class="productAttributeValue">
<div class="productOptionViewRectangle">
<ul class="list-horizontal">
<li class="
option
">
<label for="e0eebcbec82d5048b186e5683668a888">
<input type="radio" class="validation" name="attribute[1361]" value="1044" id="e0eebcbec82d5048b186e5683668a888">
<span class="name">XS</span>
</label>
</li>
<li class="
option
">
<label for="7d7b61c404930891d9d027ef9da67a14">
<input type="radio" class="validation" name="attribute[1361]" value="1045" id="7d7b61c404930891d9d027ef9da67a14">
<span class="name">S</span>
</label>
</li>
</ul>
</div>
</div>
То, что я пытаюсь сделать, это поместить тег вокруг тега span внутри первого тега метки с помощью JS после загрузки страницы. Я использую CMS, который не позволяет напрямую изменять этот тип материала, но он может быть изменен с помощью JS после загрузки страницы. Я не совсем уверен, с чего начать с этого, я все еще не очень разбираюсь в JS. Благодарю!
Если используется jQuery:
$('.productAttributeLabel span').wrap('<a href="#"></a>');
Вы можете использовать метод обхода jQuery.
$('span.name:first').wrap('<a href="your path"></a>');
span.name
получит и другие промежутки, OP ищет первое.
Пытаться:
$(".productAttributeRow").find("label:first span").wrap("<a href='somelink'></a>");
точно так же, как yourspan.wrap('<a href="#"></a>');
$('span').wrap('<a href="#"></a>');