Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2016, 13:20
Новичок на форуме
Отправить личное сообщение для friend_RU Посмотреть профиль Найти все сообщения от friend_RU
 
Регистрация: 22.03.2016
Сообщений: 1

Как передать объект тега HTML в функцию Javascript?
Здравствуйте, javascript пользуюсь впервые и единственный, наверное, раз. Возможно неправильно обозначил проблему в заголовке, не судите строго.

У меня есть HTML страница. В странице таблица. В таблице строки. В строках ячейки с тегом-ссылкой "Удалить". При нажатии на эти самые "Удалить" должна вызываться js функция и удалять из таблицы именно ту строку, ссылка "Удалить" которой использовалась.

Не могу понять как передать
<td><a href=javascript:delete(*СЮДА*);>Удалить</a></td>

объект тега <a> ну или сразу <td> или <tr>.

Ниже представлен код. Тоже сильно не ругайте за структуру. Первый раз пишу

<html>
	<head>
		<title>Employees</title>
		<script type = "text/javascript" >
			function delete(obj) {
				var table = document.getElementById("table");
				tr = *МОЖЕТ КАКОЙ-ТО obj.parentNode.parentNode?*
				table.deleteRow(tr.rowIndex);
			}
		</script>
	</head>

	<body>
		<form action="handler.php">
			<table border="1" id="table">
				<caption>Работники</caption>
				<!-- Названия столбцов -->
					<tr>
						<th><!-- Поле без имени --></th>
						<th>No</th>
						<th>Имя</th>
						<th>Должность</th>
						<th>Дата найма</th>
						<th>Департамент</th>
						<th>Удалить</th>
					</tr>
				<!-- Сотрудники -->
					<!-- 1 -->
					<tr>
						<td><input type="checkbox"></td>
						<td><a href="http://employee.com/id1">1</a></td>
						<td>Артур</td>
						<td>Уборщик</td>
						<td>01.01.01</td>
						<td>SPCD</td>
						<td><a href=javascript:delete(*ЧТО ПИСАТЬ СЮДА?*);>Удалить</a></td>
					</tr>
					<!-- Дальше идет еще десяток таких же строк -->
					
				</table>
		</form>
	</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2016, 14:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Сообщение от friend_RU
delete

<html>
	<head>
		<title>Employees</title>
        <meta charset="utf-8">
		<script type = "text/javascript" >
			function del(tr) {
				var table = document.getElementById("table");
			    table.deleteRow(tr.rowIndex);
			}
		</script>
	</head>

	<body>
		<form action="handler.php">
			<table border="1" id="table">
				<caption>Работники</caption>
				<!-- Названия столбцов -->
					<tr>
						<th><!-- Поле без имени --></th>
						<th>No</th>
						<th>Имя</th>
						<th>Должность</th>
						<th>Дата найма</th>
						<th>Департамент</th>
						<th>Удалить</th>
					</tr>
				<!-- Сотрудники -->
					<!-- 1 -->
					<tr>
						<td><input type="checkbox"></td>
						<td><a href="http://employee.com/id1">1</a></td>
						<td>Артур</td>
						<td>Уборщик</td>
						<td>01.01.01</td>
						<td>SPCD</td>
						<td><a href="#" onclick="del(this.parentNode.parentNode)">Удалить</a></td>
					</tr>
					<!-- Дальше идет еще десяток таких же строк -->

				</table>
		</form>
	</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2016, 14:18
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Функцию нужно переименовать, так как delete является оператором.

<td><a href="#" onclick="deleteRow(this)">Удалить</a></td>

function deleteRow(obj) {
    var row = obj.parentNode.parentNode;
    row.parentNode.removeChild(row);
}


Если ссылка будет находится в любой вложенности, то тогда лучше так:

function deleteRow(obj) {
    var row = obj.closest('tr');
    row.parentNode.removeChild(row);
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Как передать значение в функцию в переменную с нужным именем? bratkovsky Общие вопросы Javascript 1 12.10.2015 08:18
как передать измененные параметры AJAX в другую функцию? akselei Элементы интерфейса 2 19.10.2013 12:46
Почему не получается передать объект ui в функцию? CandyDandy Events/DOM/Window 1 26.03.2012 18:58
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11