| 
	| 
	
	| 
		
	| 
			
			 
			
				19.07.2025, 21:10
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| 
				document.querySelectorAll и перебор массива узнать номера массивов
			 Есть таблица, могу я как-то через document.querySelectorAll и перебор массива узнать номера массивов, которые содержат это - class="dnosel" src="/Themes/images/Blackmarket/map.png".цифры узнать, например 0 и 1 ?
 
 <table class="treasure_tab">
 <tr>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/map.png"/>  (элемент 0)
 </td>
 <td>
 <img width="48" class="dsel" src="/Themes/images/Blackmarket/map.png"/> (элемент 1)
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/> (элемент 2)
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/> (элемент 3)
 </td>
 </tr>
 </table>
 |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:12
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| (элемент 0,1,2,3) в таблице нет |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:19
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| 
				document.querySelectorAll и перебор массива узнать номера массивов
			 Есть таблица, могу я как-то через document.querySelectorAll и перебор массива узнать номера массивов, которые содержат это - class="dnosel" src="/Themes/images/Blackmarket/map.png".цифры узнать, например 0 и 1 ? Элемент 0,1,2,3 этого в таблице нет. Помогите пожалуйста. Спасибо
 
 <table class="treasure_tab">
 <tr>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/map.png"/>  (элемент 0)
 </td>
 <td>
 <img width="48" class="dsel" src="/Themes/images/Blackmarket/map.png"/> (элемент 1)
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/> (элемент 2)
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/> (элемент 3)
 </td>
 </tr>
 </table>
 |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:27
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| 
const table = document.querySelector('.treasure_tab');
const indexOfItemsThatHasMap = [].map.call(
  table.querySelectorAll('[src="/Themes/images/Blackmarket/map.png"].dnosel'), 
  node => {
    const row = node.closest('tr');
    const cell = node.closest('td');
    
    return {
      rowIndex: [].indexOf.call(row.parentNode.children, row),
      cellIndex: [].indexOf.call(cell.parentNode.children, cell),
    };
  }
);
console.log(indexOfItemsThatHasMap);
 |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:29
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	|  |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:32
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| В данном случае будет 2 цифры , 0 и 1., но может быть 0,1,2 Можно из них как-то сделать массив, типа var N=["0","1","2"]; Спасибо |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 21:57
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| Мая твая ни панимать. По человечески опишите, что вам нужно. Без этих ваших элементов, цифр и массивов.
 
 Вам нужно было найти ячейки, которые содержат изображение с определенным классом и адресом - я показал код, который возвращает индексы строки и ячейки этих элементов.
 Последующее сообщения я расшифровать, увы, не в состоянии.
 |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 22:26
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| есть таблица
 
 <table class="treasure_tab">
 <tr>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/map.png"/>
 </td>
 <td>
 <img width="48" class="dsel" src="/Themes/images/Blackmarket/map.png"/>
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/>
 </td>
 <td>
 <img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/>
 </td>
 </tr>
 </table>
 
 1.Мне нужно узнать номера ячеек таблицы которые содержат это  — class="dnosel" src="/Themes/images/Blackmarket/map.png" (это будут числа 0 и 1)
 2. Из этих чисел нужно сделать массив.
 3. результат = рандомный элемент из массива, который выше.
 Спасибо.
 			 Последний раз редактировалось Brick, 19.07.2025 в 22:32.
 |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 22:34
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| 
	
 
	| Сообщение от Brick |  
	| 1.Мне нужно узнать номера элементов которые содержат это — class="dnosel" src="/Themes/images/Blackmarket/map.png" (это будут числа 0 и 1) |  
	
 Как это могут быть числа 0 и 1, если во второй ячейке изображение не содержит класс dnosel?
 
<table class="treasure_tab">
<tr>
<td>
<img width="48" class="dnosel" src="/Themes/images/Blackmarket/map.png"/>
</td>
<td>
<img width="48" class="dnosel" src="/Themes/images/Blackmarket/map.png"/>
</td>
<td>
<img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/>
</td>
<td>
<img width="48" class="dnosel" src="/Themes/images/Blackmarket/hole.png"/>
</td>
</tr>
</table>
<script>
const table = document.querySelector('.treasure_tab');
const indexOfItemsThatHasMap = [].map.call(
  table.querySelectorAll('[src="/Themes/images/Blackmarket/map.png"].dnosel'), 
  node => {
    const row = node.closest('tr');
    const cell = node.closest('td');
    
    return {
      rowIndex: [].indexOf.call(row.parentNode.children, row),
      cellIndex: [].indexOf.call(cell.parentNode.children, cell),
    };
  }
);
var N = indexOfItemsThatHasMap.map(item => item.cellIndex);
var randomniyElementMassiva = N[Math.floor(Math.random() * N.length)];
document.write(JSON.stringify({indexOfItemsThatHasMap, N, randomniyElementMassiva}, null, 2));
</script>
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				19.07.2025, 22:55
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 16.07.2018 
						Сообщений: 309
					 
		
 |  |  
	| спасибо |  |  |  |