Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Взять текст в переменную (https://javascript.ru/forum/dom-window/70354-vzyat-tekst-v-peremennuyu.html)

petral7 30.08.2017 11:05

Взять текст в переменную
 
Добрый день

Возможно ли захватить строчку "TEST" в переменную, используя в качестве маркера селектор href, так как кода там нагорождено намного больше... И селекторы с id где то далеко...

<td class="tlc"><b>”ТEST”<p>Нажмите <a href="../marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p></b></td>

Заранее спасибо

ksa 30.08.2017 11:25

Цитата:

Сообщение от petral7
Возможно ли захватить строчку "TEST" в переменную, используя в качестве маркера селектор href

Можно. :yes:
Как вариант...
<table>
<td class="tlc">
	<b>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
var str=o.parentNode.parentNode.innerHTML.split('<p>')[0];
alert(str);
</script>

petral7 30.08.2017 17:48

Цитата:

Сообщение от ksa (Сообщение 463076)
Можно. :yes:
Как вариант...
<table>
<td class="tlc">
	<b>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
var str=o.parentNode.parentNode.innerHTML.split('<p>')[0];
alert(str);
</script>

Большое спасибо.
После обрамления в:
jQuery(document).ready(function($) {

});
Заработало.
Теперь почему то не могу заменить текст в этом селекторе на "ТЕСТ2"
Как это сделать? Пожалуйста, направьте серость, надеюсь, крайний раз в этой теме.

j0hnik 30.08.2017 19:21

<table>
<td class="tlc">
	<b>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
document.querySelector('[href*="marker"]').parentNode.parentNode.firstChild.textContent='Тест2';
</script>

petral7 06.09.2017 13:25

Все таки не последнее.
Большое спасибо за помощь, я дико извиняюсь, но у меня перед "ТЕСТ" еще "блаблабла"<br>
document.querySelector('[href*="marker"]').parentNode.parentNode.firstChild.textContent=' ест2'; хвататет и меняет "блаблабла" без "ТЕСТ".
Т.е. как заменить либо '"блаблабла"<br>”ТEST”'?
Либо ”ТEST” отдельно...
Пытаюсь больше часа схватить, но все что то не то хватается.
<table>
<td class="tlc">
	<b>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
document.querySelector('[href*="marker"]').parentNode.parentNode.firstChild.textContent='Тест2';
</script>

рони 06.09.2017 13:35

petral7,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

ksa 06.09.2017 13:39

Цитата:

Сообщение от petral7
как заменить либо '"блаблабла"<br>”ТEST”'?

Как вариант...
<table>
<td class="tlc">
	<b>"блаблабла"<br>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
var str=o.parentNode.parentNode.innerHTML;
str=str.replace(/^[\s\S]+(?=<p>)/,'Пример');
alert(str);
</script>

ksa 06.09.2017 13:48

Цитата:

Сообщение от petral7
Либо ”ТEST” отдельно...

Как вариант...
<table>
<td class="tlc">
	<b>"блаблабла"<br>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
var str=o.parentNode.parentNode.innerHTML;
str=str.replace(/(<br>)[\s\S]+?(?=<p>)/,'$1Пример');
alert(str);
</script>

petral7 06.09.2017 15:34

Цитата:

Сообщение от ksa (Сообщение 463848)
Как вариант...
<table>
<td class="tlc">
	<b>"блаблабла"<br>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
var str=o.parentNode.parentNode.innerHTML;
str=str.replace(/(<br>)[\s\S]+?(?=<p>)/,'$1Пример');
alert(str);
</script>

Спасибо. Как теперь на странице заменить ”ТEST” на "Тест2". Я такая понимаю это замена текста в переменной, а не на странице. И надеюсь все)

ksa 06.09.2017 16:10

Цитата:

Сообщение от petral7
Как теперь на странице заменить ”ТEST” на "Тест2".

Дык!

<table>
<td class="tlc">
	<b>"блаблабла"<br>”ТEST”
	<p>Нажмите <a href="marker" target="_blank" style="color: rgb(1,2,3);">ЗДЕСЬ</a> для перехода.</p>
	</b>
</td>
</table>
<script type='text/javascript'>
var o=document.querySelector('[href*="marker"]');
o=o.parentNode.parentNode;
var str=o.innerHTML;
str=str.replace(/(<br>)[\s\S]+?(?=<p>)/,'$1"Тест2"');
o.innerHTML=str;
</script>


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