Не переносите div
на span
, вместо этого используйте другой div
, вы можете использовать wrap()
, также вы можете заменить label
текст следующим образом:
$('.radio-select').wrap('<div class="container"></div>').find('label').text('bingo!').attr('data', 'books-taxonomy');
.container {
background: #5eba7d;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="radio-select" data-value="books-taxonomy">
<input class="radio-input" type="radio" id="form-books-tax" name="bundle" value="books-taxonomy" checked="checked">
<label class="radio-label" for="form-books-tax">CHANGE THIS LABEL TEXT</label>
</div>
Редактировать: Если вы хотите обернуть text
внутри label
, вы можете использовать wrapInner()
:
$('.radio-select label').wrapInner('<span></span>').text('bingo!')
Редактировать 2: Также на основании вашего комментария вы можете сделать то, что вы попробовали:
$('label[for=form-books-tax]').wrapInner('<span></span>').text('bingo!');