Javascript 如何给表标题赋值?
上下文 我有一张桌子,里面有页码。我想“在表头单击,按列排序”。我必须使用添加的Javascript 如何给表标题赋值?,javascript,html,jquery,Javascript,Html,Jquery,上下文 我有一张桌子,里面有页码。我想“在表头单击,按列排序”。我必须使用添加的order by'column'进行查询,因为我一次只能获取50行。因此,在表中排序将不起作用。目前我通过给每个th不同的ID来实现这一点。但我想用类来实现这一点。如果th可以保存值,这是可能的。但似乎不行 问题 如何将任意字符串与HTML元素关联?您只需获取cellIndex即可 const myTable=document.getElementById('my-table')) ; myTable.onclic
order by'column'
进行查询,因为我一次只能获取50行。因此,在表中排序将不起作用。目前我通过给每个th
不同的ID来实现这一点。但我想用类来实现这一点。如果th
可以保存值,这是可能的。但似乎不行
问题
如何将任意字符串与HTML元素关联?您只需获取cellIndex即可
const myTable=document.getElementById('my-table'))
;
myTable.onclick=e=>
{
如果(!e.target.matches('thead td'))返回
设TD=e.target
TD.className=(TD.className==“”)?“上档”:(TD.className===”上档“)?“下档”:“”;
控制台清除()
log('col index=',TD.cellIndex',order=',TD.className',text=',TD.textContent)
}
/*外观零件*/
桌子{
边界塌陷:塌陷;
边缘顶部:25px;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:10px;
}
泰德{
背景颜色:海蓝宝石;
光标:指针;
}
t车身{
背景色:#b4c5d8;
}
运输署{
边框:1px纯灰;
填充:.3em.7em;
}
thead td>i.fa{display:none;}
thead td.upOrder>i.fa-caret-up{display:inline;}
thead td.downOrder>i.fa-caret-down{display:inline;}
第0列
上校1
col_2
榆树林0榆树林1榆树林2
榆树林0榆树林1榆树林2
榆树林0榆树林1榆树林2
榆树林0榆树林1榆树林2
如果要将任意字符串与HTML元素(如th
)关联,可能需要使用
您可以在HTML中设置一个名为“my string”的自定义属性,方法是:
<th data-my-string="Mal shot first">...
您可以将该值用于:
let str = myHeader.dataset.myString; // Note the unusual syntax
.dataset
属性包含所有数据属性(每个属性都从烤肉串案例转换为camelCase,并删除了数据-
前缀)
(我不确定你所说的“我想用类来实现这一点”是什么意思,但由于你表示“如果
th
可以保存值,这是可能的”,我想你可能会发现这项技术很有用。)这有点模糊。举一个简单的例子(此处建议->),如果您想将任意字符串与HTML元素(如th
)关联,您可能需要使用数据属性
()。您可以在HTML中使用
(或在脚本中使用myHeader.setAttribute(“数据我的字符串”,“错误快照优先”);
)设置一个名为“我的字符串”的自定义属性。您可以使用带有let str=myHeader.dataset.myString
的值--dataset
属性包含所有的数据属性(从烤肉串转换为camelCase,去掉data-
前缀)。@Cat您可以将此作为答案发布吗?当然可以。如果您使用的是jQuery,您可以通过以下方法获取/设置:;获取$(某物).data(“myString”)
,设置$(某物).data(“myString”,“123”)
let str = myHeader.dataset.myString; // Note the unusual syntax