Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как найти текст последнего элемента, если id немного отличаются. (https://javascript.ru/forum/dom-window/54035-kak-najjti-tekst-poslednego-ehlementa-esli-id-nemnogo-otlichayutsya.html)

mastersss 28.02.2015 20:36

Как найти текст последнего элемента, если id немного отличаются.
 
Приветствую всех!

Есть поля инпут type="text" у которых есть id типа acf-field-id="field_54ef5f88727d7_2_field_54ef5f88727da" , где вместо 2 может быть любое число(как правило увеличивается сверху вниз с шагом 1).
Как найти текст последнего(нижнего) инпута?

Safort 28.02.2015 20:56

Попробуй что-то типа этого
alert(document.querySelector('input:last-child').value);

mastersss 28.02.2015 21:08

дело в том, что кроме
field_54ef5f88727d7_2_field_54ef5f88727da
на странице есть еще много разных инпутов
т.е. там таблица на несколько колонок и в каждой колонке свой тип инпутов, вот нужно найти текст в последнем инпуте именно определенной колонки, у которой ид такого типа field_54ef5f88727d7_2_field_54ef5f88727da, где вместо 2 разные числа

рони 28.02.2015 21:40

mastersss,
<!DOCTYPE HTML>

<html>

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

<body>
 <input   id="field_54ef5f88727d7_200_field_54ef5f88727da">
 <input   id="field_54ef5f88727d7_2_field_54ef5f88727da">
 <input   id="field_54ef5f88727d7_7_field_54ef5f88727da" value="test">
<script>
alert(document.querySelector('[id^="field_54ef5f88727d7_"]:last-of-type').value);
</script>

</body>

</html>

mastersss 28.02.2015 21:56

Цитата:

Сообщение от рони (Сообщение 359062)
mastersss,

<input id="field_54ef5f88727d7_200_field_54ef5f88727da">
<input id="field_54ef5f88727d7_2_field_54ef5f88727da">
<input id="field_54ef5f88727d7_7_field_54ef5f88727da" value="test">
<script>
alert(document.querySelector('[id^="field_54ef5f88727d7_"]:last-of-type').value);
</script>
[/html]

спасибо, а можно как-то задействовать и последнюю часть id?
что-то типа field_54ef5f88727d7_[0-9]*_field_54ef5f88727da

рони 28.02.2015 22:10

mastersss,
нет либо часть* либо начало^ или конец$ или написать функцию фильтрации

mastersss 28.02.2015 22:15

почему-то находит первый элемент по document.querySelector('[id$="54ef5eac77c17"]:last-of-type').value
и по * тоже

рони 28.02.2015 22:22

mastersss,
значит других нет

рони 28.02.2015 22:23

mastersss,
<input   id="field_54ef5f88727d7_200_field_54ef5f88727da">
 <input   id="field_54ef5f88727d7_2_field_54ef5f88727da">
 <input   id="field_54ef5f88727d7_7_field_54ef5f88727da" value="test">
<script>
alert(document.querySelector('[id$="54ef5f88727da"]:last-of-type').value);
</script>

mastersss 01.03.2015 10:21

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
 </head>
<body>

<table>

<tr class="row">
<td class="field sub_field field_type-text field_key-field_54ef5eac77c17" data-field_type="text" data-field_key="field_54ef5eac77c17" data-field_name="ball">
				<div class="inner">
				<div class="acf-input-wrap"><input type="text" id="acf-field-field_54ef5de677c14_0_field_54ef5eac77c17" class="text" name="fields[field_54ef5de677c14][0][field_54ef5eac77c17]" value="55" placeholder=""></div>				</div>
			</td>
</tr>




<tr class="row">
<td class="field sub_field field_type-text field_key-field_54ef5eac77c17" data-field_type="text" data-field_key="field_54ef5eac77c17" data-field_name="ball">
				<div class="inner">
				<div class="acf-input-wrap"><input type="text" id="acf-field-field_54ef5de677c14_1_field_54ef5eac77c17" class="text" name="fields[field_54ef5de677c14][1][field_54ef5eac77c17]" value="66" placeholder=""></div>				</div>
			</td>
</tr>




<tr class="row">
<td class="field sub_field field_type-text field_key-field_54ef5eac77c17" data-field_type="text" data-field_key="field_54ef5eac77c17" data-field_name="ball">
				<div class="inner">
				<div class="acf-input-wrap"><input type="text" id="acf-field-field_54ef5de677c14_2_field_54ef5eac77c17" class="text" name="fields[field_54ef5de677c14][2][field_54ef5eac77c17]" value="77" placeholder=""></div>				</div>
			</td>
</tr>

</table>


<script>
alert(document.querySelector('[id$="_field_54ef5eac77c17"]:last-of-type').value);
</script>

</body>
</html>



вместо 77 находит 55 :-E


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