0
Это более конкретный вопрос my other question.Как извлечь несколько частей из строки html с помощью jQuery?
Мне нужно извлечь части из этой строки таблицы ..
<tr><td colspan="7"><a href="http://link/index.php?view=page&id=2961" target="_blank" title="title">atext1 atext2</a> - stuff 2 - <img src="img/icon_1.gif" class="icon" title="icon1" />12 - <img src="img/icon_2.gif" class="icon" title="icon2" />4 - <span title="long title"><img src="img/icon_3.gif" class="icon" /> stuff 5 </span></td></tr>
..so Я в конечном итоге с массивом (или объекта), как это:
var data = [
'id' = 2961,
'text' = 'stuff 2',
'link' = '<a href="http://link/index.php?view=page&id=2961" target="_blank" title="title">atext1</a>',
'icon1' = '<img src="img/icon_1.gif" class="icon" title="icon1" />12',
'icon2' = '<img src="img/icon_2.gif" class="icon" title="icon2" />4',
'icon3' = '<img src="img/icon_3.gif" class="icon" title="stuff 5: long title" />'
];
До сих пор у меня только удалось получить идентификатор. Я попытался расщепить значение td.html() с var tdspilt = $('td', tr).html().split(' - ');
, но это дает две проблемы. 1) Потеря функций Jquery на tdsplit array
, и 2) .html()
заменяет &
с &
var tr = 'above tr row';
var data = [];
data['id'] = $('td', tr).eq(0).find('a').attr('href').match(/view=page&id=([0-9]+)/)[1];
Как я могу закончить с желаемым результатом?
Хммм, у вас есть контроль над HTML? если так, я бы рекомендовал поместить каждую часть информации в ее собственный
Я делаю, но удаление colspan будет разрушать презентацию, поэтому не вариант. – Kim
Я могу помочь разобрать любой формат, в котором вы закончили, но ваши данные фактически плавают как свободный текст? можете ли вы окружить текстовый материал 2 в промежутке? –
ответ
Вот jsFiddle: http://jsfiddle.net/elektronikLexikon/tH6Yq/
Ссылки тождественна с ожидаемой линией связью, даже если он красный, но я не знаю, почему.
источник
2010-11-13 10:28:00 elektronikLexikon
Спасибо. Не могли бы вы объяснить, почему у вас есть две функции? – Kim
Функция externalHTML очень полезна, но не включен в jQuery, он возвращает содержимое тега плюс сам тег. И для поиска строки в регулярном выражении вам нужно избежать некоторых символов (эти: '[] \ {}() + * ?. $^| '), поэтому они заменяются собой после обратной косой черты. – elektronikLexikon
Смежные вопросы