我正在尝试使用onClick函数突出显示一个表行(在dynamicTable中),并将“test read”写入此行中单击的td [0]。
这就是我所拥有的(从net / stackOverflow中找到并调整)
$("#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);
}
这可以很好地突出显示行,当然还有dynamicTable 我无法确定要添加什么以便将HTML添加到表格单元格
我已经尝试过测试
$(this).innerHTML("test read");
认为这将写入整行,但它什么都不做。 我还尝试了一些其他的东西,但没有一个可以解决我缺乏javaScript知识......
我对javaScript不是很了解,你可以看到...,但通常可以在网络的帮助下拼凑一些东西,但是这个让我头疼。非常感谢任何帮助!
答案 0 :(得分:3)
jQuery没有innerHTML
方法,this is a property of native DOM nodes,而不是jQuery集合。
也许你的意思是这样的?
this.innerHTML = "test read";
jQuery相当于html
方法。
$(this).html("test read");
但是,如果您只想要纯文本而不是HTML,则应使用text
方法。
$(this).text("test read");
为完整起见,纯文本的原生DOM节点等效为textContent
。
this.textContent = "test read";
答案 1 :(得分:2)
你不能直接写入tr元素,而是写入td:
$(this).find('td:eq(0)').text("test read");//writes text in first td
如果你想写tr的所有td,那么只需删除eq()
方法。
答案 2 :(得分:1)
或尝试
$("td:first").text("test read");
-