Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2016, 01:16
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

find table или другой способ забрать переменные из таблицы
Доброй ночи!

Есть строковая переменная содержащийся
var  table =" <table><tr><td><td></td></td><td></td><td>ФИО</td>Иван Иванович<td></td><td></td></tr><table>";


Подскажите как за получить значения следующего td после td содержащего текст ФИО.

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2016, 01:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

arahmanov,
неправильная переменная ... может исправите?
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2016, 01:35
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от рони Посмотреть сообщение
arahmanov,
неправильная переменная ... может исправите?
Это я для примера ...

фактически так
clietn =  $(html).find('#pnlClientDetails').html();

в эту переменную попадает наша таблица
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2016, 01:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

arahmanov,
то есть слабо написать var table так чтобы после td c ФИО было td c Иван Иванович?
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2016, 01:49
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от рони Посмотреть сообщение
arahmanov,
то есть слабо написать var table так чтобы после td c ФИО было td c Иван Иванович?
Извини Рони ,
не совсем понял что ты имеешь виду.

У меня есть переменная
var clietn =  $(html).find('#pnlClientDetails').html();

которая содержит внутри себя HTML код большой таблицы.
в который среди множества есть тег <td> с текстом Ф.И.О а следующий тег после него , текст которого мне нужно получить.

p/s Я для примера написал
var  table =" <table><tr><td><td></td></td><td></td><td>ФИО</td>Иван Иванович<td></td><td></td></tr><table>";
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2016, 01:56
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

arahmanov, как вариант:
var str = '... <td>ФИО</td><td>Иван Иванович</td> ...';

alert( str.match(/<td>ФИО<\/td><td>([\s\S]+)<\/td>/i)[1] );
Ответить с цитированием
  #7 (permalink)  
Старый 13.03.2016, 02:07
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Сообщение от Decode Посмотреть сообщение
arahmanov, как вариант:
var str = '... <td>ФИО</td><td>Иван Иванович</td> ...';

alert( str.match(/<td>ФИО<\/td><td>([\s\S]+)<\/td>/i)[1] );

Супер. Спасибо!
У меня не работает наверное из-за того что теги с классами и стилями ?

<td class="CDataHeader" style="width:100px;">Ф.И.О</td>
следующий такой 
<td class="CDataContent" style="white-space: nowrap;">Иван Иванович</td>


мой вариант не рабочий
var clietn =  $(html).find('#pnlClientDetails').html(); 
alert( clietn.match(/<td>Ф.И.О<\/td><td>([\s\S]+)<\/td>/i)[1] );
Ответить с цитированием
  #8 (permalink)  
Старый 13.03.2016, 02:19
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

arahmanov, а так?
var str = '<td class="CDataHeader" style="width:100px;">Ф.И.О</td><td class="CDataContent" style="white-space: nowrap;">Иван Иванович</td>';
alert( str.match(/<td\s*(?:[^>])*>Ф.И.О<\/td><td\s*(?:[^>])*>([\s\S]*)<\/td>/i)[1] );
Ответить с цитированием
  #9 (permalink)  
Старый 13.03.2016, 02:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

Сообщение от arahmanov
не совсем понял что ты имеешь виду.
теги td неправильные в примере, даже клиент и тот не клиент

var client = $('#pnlClientDetails td:contains("Ф.И.О")+').text();
Ответить с цитированием
  #10 (permalink)  
Старый 13.03.2016, 02:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,067

arahmanov,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
  <script>
   $(function(){
var client = $('#pnlClientDetails td:contains("Ф.И.О")+').text();
alert(client);
   })
  </script>
</head>

<body>
    <table id="pnlClientDetails"><tr>
<td class="CDataHeader" style="width:100px;">Ф.И.О</td>
<td class="CDataContent" style="white-space: nowrap;">Иван Иванович</td>
</tr></table>
</body>

</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие scroll. Не цепляется строка таблицы karssen Javascript под браузер 7 15.07.2015 13:29