Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Вытащить значение в переменную между тегов с множественным переносом строки (https://javascript.ru/forum/css-html/63955-vytashhit-znachenie-v-peremennuyu-mezhdu-tegov-s-mnozhestvennym-perenosom-stroki.html)

petral7 11.07.2016 10:49

Вытащить значение в переменную между тегов с множественным переносом строки
 
Добрый день

Могу вытаскивать значения в переменную TEST из куска страницы:
<span class="first_level_header" style="color: rgb(212, 167, 24);">
            Тест: 007&nbsp;&nbsp;
        </span>

Таким кодом:
TEST = $("#centralContainer").find("table:first").find("tbody:first").children("tr:nth-child(1)").children("td:nth-child(2)").children("h1:nth-child(1)").text();}
TEST = $.trim(TEST); var posBracket = TEST.indexOf(":"); TEST = TEST.substring(posBracket+2, posBracket + 7);


Вопрос Каким кодом вытащить дату (08-июл-1982) в переменную? Когда она представляет собой на странице такой HTML код:
<td class="header_cell" style="color: rgb(170, 98, 198);">
        
            
                <b>Дата:</b>
            
            
        
        
        

        
            
            
                08-июл-1982
            
        
    </td>

petral7 11.07.2016 10:51

Заранее благодарю за помощь:)

рони 11.07.2016 15:04

petral7,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
<table width="400" summary="" >

	<tbody>
		<tr>
		   <td class="header_cell" style="color: rgb(170, 98, 198);">


                <b>Дата:</b>









                08-июл-1982


    </td>

		</tr>

	</tbody>
</table>
<script>
   var td = document.querySelector(".header_cell"),
   text = td.lastChild.textContent.trim();
   alert(text)
  </script>
</body>
</html>

petral7 11.07.2016 20:52

Спасибо, к сожалению, не помогло. Сейчас скопировал код страницы через F10 из приложения, возможно это сделает задачу решаймее или нет)

Описание к вложенному файлу
Значение 007, которое сейчас успешно присваевается переменной SSID (работа с SSID на строках 879-881),строка
88
Скрипт, строки
875-893
Значение которое сейчас нужно присвоить переменной SSID: 08-июл-1982 на строке:
457
Вопрос
Как модифицировать скрипт, на строках 875-893, что бы SSID присвоелось значение со строки 457. В данном случае 08-июл-1982.
Заранее большое спасибо за помощь.

petral7 11.07.2016 20:54

Вложений: 1
Файл

рони 11.07.2016 21:54

petral7,
var td = document.querySelector("#ecrfParameters td:last-child"),
   text = td.lastChild.textContent.trim();
   var SSID = text;

petral7 12.07.2016 14:27

Рони, большое спасибо. Увы, не работает.
В консоле выдает ошибку:Uncaught TypeError: Cannot read property 'lastChild' of null. Используется ncludes/jmesa/jquery-1.3.2.min.js
Может в этом дело?

рони 12.07.2016 14:32

petral7,
jquery у вас конечно допотопное, но оно совершенно не причём.
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table border="0" cellpadding="0" cellspacing="1" width="600px" id="ecrfBoxInfo">
<tr id="ecrfParameters">

        <td class="header_crf_cell">
            <b>Скрининговый номер:</b>
            <span id=ssIdLabel>99-026</span>
        </td>


        <td class="header_crf_cell">
            <span><b>Пол:</b></span>


                Ж


        </td>




    <td class="header_crf_cell">
        <b>Возраст на момент включения:</b>
        34 Лет - 3 Дней
    </td>
    <td class="header_crf_cell">


                <b>Дата рождения:</b>









                08-июл-1982


    </td>


</tr>
</table>
<script>
   var td = document.querySelector("#ecrfParameters td:last-child"),
   text = td.lastChild.textContent.trim();
   var SSID = text;

   alert(SSID)
  </script>
</body>
</html>

petral7 12.07.2016 15:17

Еще раз большое спасибо. Дело в том, что в этом приложение (нестандартное)я могу вставить скрипт только в строки:
875-893
Т.е. мне надо модифицировать именно этот скрипт на этих строках.

рони 12.07.2016 16:06

petral7,
не понял ... у вас получилось исправить или нет?
нужно заменить
var SSID = $("#centralContainer").find("table:first").find("tbody:first").children("tr:nth-child(2)").children("td:nth-child(1)").text();

на
var td = document.querySelector("#ecrfParameters td:last-child"),
   text = td.lastChild.textContent.trim();
   var SSID = text;

petral7 12.07.2016 18:22

Рони, именно так и сделал, ошибка: "Uncaught TypeError: Cannot read property 'lastChild' of null".

рони 12.07.2016 19:08

petral7,
могу только гадать

petral7 12.07.2016 22:39

Спасибо, что попытались.

рони 12.07.2016 22:45

petral7,
значит нет у вас на странице такой ячейки
document.querySelector("#ecrfParameters td:last-child")

petral7 20.07.2016 16:26

Люди добрые... У кого нибудь не появилось новых идей... Другим способом кроме
var td = document.querySelector("#ecrfParameters td:last-child"),
text = td.lastChild.textContent.trim();
var SSID = text;
Это возможно сделать?:help:

рони 20.07.2016 16:48

petral7,
изучите css селекторы и делайте выборку как вам нужно.

petral7 20.07.2016 18:56

Боюсь это не поможет раз Вы не справились... Может все таки includes/jmesa/jquery-1.3.2.min.js всему виной?

рони 20.07.2016 19:18

Цитата:

Сообщение от petral7
Вы не справились

с чем? весь код в данной тебе, от меня рабочий.

sfaniks 08.08.2016 17:03

Хочу узнать что оглашает данный скрипт?
<script type="text/javascript">
var iant = true;
var bTP = 0.001;
var mILBV = 0.0000001;
var iCILG = 2588604;
var rCILG = 87;
var bVCILG = 0.0000001000;
var wCILG = 0.0000938500;
var cHWCILG = 0.0001017800;
var iAPCILG = true;
var sARCILG = 0;
var sIBDCILG = 0.0000800000;
var sIBICILG = 0.0002000000;
var sIWDFMPCILG = 0.0000000000;
var bMCILG = 1.3330000000;
var pMCILG = 3.0000000000;
var cNCILG = '3-13-14-19-22-30-32-35-42-51-53-55-56-57-59-63';
var lIDILGP = 2588717;
var hEPCILG = 1.0000000000;
var cHEPU = 1;
var tWILU = 0.0023008600;
var mPPB = 0.41;
var iULI = true;
var dNSCD = true;
var mBFBIS = 2000;
var mCFBIS = 2000;
var mMCFB = 10;
var fBR = 0;
var lLCFB = new Array();
var cLCFB = {};
var addrUserID = 0;
var sEM = false;
fBR = 0.0036944700;
addrUserID = 12093;
sEM = false;
</script>
Может знает кто?

m1lk1way 10.08.2016 15:40

Ничего он не оглашает, создает переменные и инициализирует с определенными значениями... трем из них потом меняет значения. всё!

warren buffet 11.08.2016 06:06

Цитата:

Сообщение от petral7
Каким кодом

Возьми .textContent ячейки и убей заранее известное лишнее. Добраться до нужной ячейки запросто по ее индексу. Пожизненно так делаю, ибо сервер всегда отдает один и тот же паттерн, а тут видишь ли проблема какая-то.


Часовой пояс GMT +3, время: 12:56.