获取生成div的值

clipboard.png
这个表格是根据数据库来生成的,现在只有两条数据,所以只有两个,我怎么可以点删除的时候获取到当前第一列的值?

阅读 3.5k
6 个回答

自己试了一下,下面这段代码应该可以拿过去直接用:

    var getClosest = function (elem, selector) {
        for (; elem && elem !== document; elem = elem.parentNode) {
            if (elem.matches(selector)) return elem;
        }
        return null;
    };

    var $tableBody = document.querySelector('.tablebody');
    // 给删除按钮绑定 click 事件
    $tableBody.addEventListener('click', function(e) {
        var button = e.target;
        if (button.classList.contains("form_remove")){
            var $row = getClosest(button, '.row'); // 获取 ‘.row' 父元素
            alert($row.firstElementChild.textContent); // 获取首个元素下面的内容
        } 
    });

既然是通过后端数据生成的,那你完全可以在生成按钮的时候把第一列的值放到按钮上,用 dataset 之类的方式。

button 上使用 data- 来设置一些值,获取的时候就直接从 button 上获取。

你完全可以在可以在按钮前加上<input type="hidden" value="${id}" />,再用js写出$(this).prev().val();

思路: 获取当前行的 index, 通过 index 获得当前行的数据,再删除你想删除的数值呗

如果是mvvm的话,应该是有对应的变量的,直接去取对应的变量的数据就好了。
但从图上来看应该是直接后端循环渲染或者前端jq操作dom,没看到mvvm的特征,那就取兄弟节点并且加上id选择器(看到有用id=“asset_id”标识那一列)来获取

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题