使用 onClick() 写入 tr td

writing to tr td with onClick()

本文关键字:tr td 写入 onClick 使用      更新时间:2023-09-26

我正在尝试获取一个onClick函数来突出显示表行(在动态表中),并将"测试读取"写入该行中单击的td[0]。

这就是我所拥有的(从网络/堆栈溢出中找到并调整)

$("#dynamicTable tr").click(function() {
    var selected = $(this).hasClass("highlight_tr");
    $("#dynamicTable tr").removeClass("highlight_tr");
    if(!selected)
            $(this).addClass("highlight_tr");
});
try{
    $('#dynamicTable').dataTable({
        "bPaginate": true,
        "sPaginationType": "full_numbers",
        "bLengthChange": true,
        "bFilter": true,
        "bSort": true,
        "bInfo": true,
        "bAutoWidth": true,
        "sCookiePrefix": "my_datatable_",
        "aaSorting": [[ 2, "desc" ]],
        "aoColumns": [
          { "sType": "html" },
          { "sType": "html" },
          { "sType": "string" },
          { "sType": "html" },
          { "sType": "html" },
          null
        ]
    });
} catch (e){
    errorMessage(e);
}

这适用于突出显示行,当然还有动态表我无法弄清楚要添加什么才能将HTML添加到表格单元格中

我试过作为测试

$(this).innerHTML("test read");

认为这会写入整行,但它什么也没做。我也尝试过其他一些事情,但没有一件是因为我缺乏javaScript知识......

正如你所看到的,我对javaScript不是很好......,但通常可以在网络的帮助下拼凑一些东西,但这个让我头疼。任何帮助将不胜感激!

jQuery 没有innerHTML方法,这是原生 DOM 节点的属性,而不是 jQuery 集合。

也许你的意思是这样?

this.innerHTML = "test read";

与此等效的jQuery是html方法。

$(this).html("test read");

但是,如果只需要纯文本,而不想要 HTML,则应使用 text 方法。

$(this).text("test read");

为了完整起见,纯文本的本机 DOM 节点等效于 textContent

this.textContent = "test read";

你不能直接在tr元素中写入,而用td编写:

$(this).find('td:eq(0)').text("test read");//writes text in first td

如果你想写进tr的所有td,那么只需删除eq()方法。

您始终可以看到诸如eq,文本,html之类的文档

或尝试

$("td:first").text("test read");

--