2015-01-05 3 views
0

Я получаю html, декодированный с сервера. как только я получаю, что посмотрим, как это:как развернуть элементы нескольких родителей

он пролеты просто вложен в No.of пядь-х

<p><span><span><span><span>The portacabin consist of toilets, <strong></strong> <strong>\u003e\u0026#160;</strong> showers and changing cubicles, a classroom, an office and a store room.&nbsp;<br>The 
upgrade shall include development of foot paths and installation of new 
up-lights around the area complete with all the required &amp; 
necessary directional signages, as per the Standards Engineering 
Specification &amp; approval by client.</span></span></span></span></p> 

Я хотел бы, чтобы удалить span в зависимости от того, не требуется, даже если он имеет только space. как это сделать?

я попытался это:

var p = $('p').contents().unwrap(); 

console.log(p); 

есть пустой сильный элемент и только space с сильным elment - как очистить его?

Он разворачивает шаг, вот и все. Кто-нибудь мне помогает?

Live

+4

Я не вижу никаких «пустых» '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Не могли бы вы уточнить? – blgt

+0

да, я хотел бы удалить вложенные. (Необязательно вложен) – 3gwebtrain

ответ

1

Вы можете использовать .nodeType свойства для проверки узлов текста на уровне, а затем сопоставляют их с пробельным регулярным выражением /\s*/:

if (this.nodeType === Node.TEXT_NODE) { 
    this.innerText.match(/\s*/) && $(this).unwrap(); 
} 

Вы можете, что в цикле с функцией .each() сгладить каждый уровень span -s, и повторить, что над всем span s. Вот скрипка, показывающая базовую версию: http://jsfiddle.net/LwmoLp3o/2/

+0

Да работает. можете ли вы добавить средство для удаления пустых элементов? даже который имеет только «пробелы» или «множественные пробелы» ..? – 3gwebtrain

+0

глядя на вопрос, я говорю о 'strong' elemnts и т. Д. – 3gwebtrain

+0

@ 3gwebtrain Да, просто добавьте условие' $ (this) .text(). Match() 'к нему и перейдем к' strong' , Оглядываясь назад, я сделал несколько очевидных ошибок в этой скрипке ... Обновлено сейчас – blgt