Я нуждаюсь в том, чтобы позвонить в некую функцию языка сценариев JavaScript, когда он кликнет в значке, который внутри td, но параметры, которые я хочу переместить его в эту функцию, - данные об элементе отец того, который я кликнул.
Я пробовал с этим:
function hola(este) {
document.getElementById("demo").innerHTML = este.id;
}
<p>Click the button to trigger a function.</p>
<table>
<td id="casita">
<i onclick="parent.hola(this)">@</i>
</td>
</table>
<p id="demo"></p>
Я это прочитал в post stackoverflow на английском, но оно я не функционирует. То, что я пробую, состоит в том, чтобы делать этот innerHTML с нею пойдите td, который был бы "casita"
, но мне не удается переместить данные этого td посредством onclick в значке.
Очень необходимо звонить в функцию, кликнув в значке и не в td. Я пробовал с <i onclick="hola(this.parent())">@</i>
но также не давай результат.
Кто-то знает правильный способ это делать?
Свойство, которое ты ищешь, - .parentElement.
Возможно использовать:
Перемещая это в функции.
<i onclick="hola(this.parentElement)">
Снабжая ссылками это внутри функции:
var padre = este.parentElement;
document.getElementById("demo").innerHTML = padre.id;
function hola(este) {
document.getElementById("demo").innerHTML = este.id;
}
<p>Click the button to trigger a function.</p>
<table>
<td id="casita">
<i onclick="hola(this.parentElement)">@</i>
</td>
</table>
<p id="demo"></p>
Чтобы соглашаться на Элемент отец (Узел Отец) специфического элемента DOM
, он был бы должен использовать свойство parentNode
<i onclick="hola(this.parentNode)">@</i>
Было бы возможно использовать свойство parentElement, но я рекомендую
ParendNode
ParentNode vs Паренделемент-СО кроме того тест, хотя различия минимальные они есть Тест
.parentNode
это возвращает, и .parentElement
возвращает null
. Случаи редкие, например в ra и # 237; z документа или внутри SVG.
– Mariano
01.11.2016, 07:43
.parentElement
- 3.7 % м и # 225; s r и # 225; я прошу (-хотя действительно имеет значение такое маленькое процентное содержание с этим?)
– Mariano
01.11.2016, 07:46
children
versus .childNodes
, где и #250; ltimo включи в узлы текста.
– Mariano
01.11.2016, 08:01
Я думаю, что всегда лучше, поддерживать простые вещи, чтобы делать то, что ты хочешь, он был бы достаточен с:
function hola(id) {
document.getElementById("demo").innerHTML = id;
}
<p>Click the button to trigger a function.</p>
<table>
<td id="casita">
<i onclick="parent.hola('casita')">@</i>
</td>
</table>
<p id="demo"></p>
Таким образом, ты избавляешься от ненужного доступа к DOM, чтобы получать статическую информацию.