Называть функцией язык сценариев JavaScript с элемента с данными Вашего отца

Я нуждаюсь в том, чтобы позвонить в некую функцию языка сценариев 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> но также не давай результат.

Кто-то знает правильный способ это делать?

1
задан 01.11.2016, 09:21
3 ответа

Свойство, которое ты ищешь, - .parentElement.

Возможно использовать:

  1. Перемещая это в функции.

    <i onclick="hola(this.parentElement)">
    
  2. Снабжая ссылками это внутри функции:

    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>
2
ответ дан 24.11.2019, 12:49
  • 1
    чудесный, большое спасибо. – Roberto Sepúlveda Bravo 01.11.2016, 07:40

Чтобы соглашаться на Элемент отец (Узел Отец) специфического элемента DOM , он был бы должен использовать свойство parentNode

<i onclick="hola(this.parentNode)">@</i>

Было бы возможно использовать свойство parentElement, но я рекомендую ParendNode ParentNode vs Паренделемент-СО кроме того тест, хотя различия минимальные они есть Тест

3
ответ дан 24.11.2019, 12:49
  • 1
    tambi и # 233; n оно функционировало, cu и # 225; l быть и # 237; в различие с этим post Относящегося к Богородице? – Roberto Sepúlveda Bravo 01.11.2016, 07:42
  • 2
    @Roberto В случаях, в которых отец не элемент, .parentNode это возвращает, и .parentElement возвращает null. Случаи редкие, например в ra и # 237; z документа или внутри SVG. – Mariano 01.11.2016, 07:43
  • 3
    большое спасибо, cu и # 225; nto ты знаешь! – Roberto Sepúlveda Bravo 01.11.2016, 07:45
  • 4
    @Dev. Джоэл В Chrome 54, .parentElement - 3.7 % м и # 225; s r и # 225; я прошу (-хотя действительно имеет значение такое маленькое процентное содержание с этим?) – Mariano 01.11.2016, 07:46
  • 5
    @Dev. Джоэл Эстой получая результат, противоположный твоему в Windows. Так или иначе, что я говорю, состоит в том, что нет значительных различий между одним и другой. Поэтому vot и # 233; +1 в твой ответ и s и # 243; это считать и # 237; в различия, если habl и # 225; ветви 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, чтобы получать статическую информацию.

1
ответ дан 24.11.2019, 12:49
  • 1
    что ты говоришь, верно, но что я искал в сущности, я состоял в том, чтобы перемещать все данные об элементе отец из-за этого funci и # 243; n, так как в моем проекте этот funci и # 243; n " hola" что aqu и # 237; ejemplifiqu и # 233; в способ pr и # 225; ctico, он не работает только с нею пойдите, но с м и # 225; s свойства этого элемента отец, как текст, класс и rowindex. В любом случае, тебе c и # 243; я говорю, что оно я не функционирует, тебя может делать одним jsfiddle.net , чтобы тестировать твой soluci и # 243; n? – Roberto Sepúlveda Bravo 02.11.2016, 02:09

Теги

Похожие вопросы