Очевидно, что unwrap
не работает, так как span
s содержат только текстовые узлы внутри, а jquery не слишком хорошо обрабатывает текстовые узлы ... это работает, однако (вы можете использовать также jQuery.text
вместо jQuery.html
, если вы уверены, что span
содержит только текст):
$('li a span').replaceWith($('li a span').html());
Рабочий пример
Редактировать : На самом деле, похоже, что unwrap
также работает, если вы используете jQuery.contents
для обхода неспособности jquery напрямую выбирать текстовые узлы:
$('li a span').contents().unwrap();