从previousElementSibling

时间:2019-01-22 15:36:57

标签: javascript

在我的视图中,我有多个csrf令牌字段,因为我在多个地方发生了发布请求。

<input type="hidden" name="_csrf" value="<%= csrfToken %>">
<button type="submit" class="button editItem" data-id="<%= product._id %>">Edit Item <i class="fa fa-arrow-circle-right"></i></button>

在使用了不同的DOM导航之后,似乎可以使用previousElementSibling访问整个输入,但是我无法提取实际值,即:csrf令牌。

const editListingBtn = document.querySelector('.editItem');
if (editListingBtn) {
  editListingBtn.addEventListener('click', e => {
    const csrf = editListingBtn.previousElementSibling.querySelector('[name="_csrf"]').value;

尝试此操作使我无法读取null的属性“值”。

1 个答案:

答案 0 :(得分:1)

应该不需要使用classquerySelector应该为您提供隐藏的输入,请更改为:

previousElementSibling