Получить текст в том же элементе списка, что и кнопка - PullRequest
1 голос
/ 05 октября 2019

возможно ли получить текст элемента списка нажатием кнопки, которая находится внутри списка? Я не могу идентифицировать его по идентификатору, потому что он будет меняться в зависимости от того, что пользователь вводит.

HTML выглядит так:

    <ul>
<li>remove this<button>X</button></li>
<li>or this<button>X</button></li>
</ul>

Что я получил такдалеко в Javascript:

  1. Это получает только "X" кнопки, потому что это "this.innerHTML", поэтому он, очевидно, не будет работать:

    function getListElement(){
        let getThis = this.innerHTML;
        alert(getThis);
    }
    

Обратите внимание, что при использовании innerHTML в элементе списка это вернет: "remove this<button>X</button>". Мне нужно получить текст перед тегами кнопки.

Есть идеи?

1 Ответ

2 голосов
/ 05 октября 2019

Вы можете обработать событие click и прочитать wholeText из previousSibling:

HTML:

<ul>
    <li>remove this
        <button id="btn_1">X</button>
    </li>
    <li>or this
        <button id="btn_2">X</button>
    </li>
</ul>

JavaScript:

function applyBindings() {
    document.getElementById("btn_1").addEventListener("click", respond);
    document.getElementById("btn_2").addEventListener("click", respond);
}

applyBindings();


function respond(event) {
    alert(event.target.previousSibling.wholeText);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...