我有一些HTML代码,它使用一些嵌入式python来创建一个从SQLlite数据库中提取的结果表。HTML还使用bootstrap创建一个表,以便在鼠标悬停在每行时突出显示行。
<div class="col-md-6">
<h3> Suggested tools </h3>
<table class="table table-hover">
<tr><th> Tool </th> <th> Function </th> </tr>
{% for post in posts %}
<tr class="table-light" onclick="changeClass()"> <td>{{post.tool}} </td> <td> {{post.summary}}</td> <td> </tr>
{% endfor %}
</table>
<p id="test"> </p>
</div>
当我选择一个特定的行时,我希望该行改变颜色。使用Bootcamp,我知道我可以通过更改class属性来实现这一点,下面的代码会产生所需的结果:
<tr class="table-light" onclick="this.className='success'"> <td>{{post.tool}} </td> <td> {{post.summary}}</td> <td> </tr>
这很有效,因为每行都是在循环中生成的,所以this对象确保只有选定的行更改了类。问题是我有一些进一步的JavaScript代码我想添加到onclick事件。有没有一种方法可以使用javascript函数来访问this对象,这样它就可以像HTML中的元素一样被使用?
我试过这个,但正如预期的那样没有成功HTML:
<tr class="table-light" onclick="changeClass()"> <td>{{post.tool}} </td> <td> {{post.summary}}</td> <td> </tr> code here
JavaScript:
function changeClass() {
return "this.className= 'table-success';}
4条答案
按热度按时间8yoxcaq71#
您需要委派和不显眼的非内联代码
您的HTML也无效。您应该通过验证器运行呈现的页面
ou6hu8tu2#
把它传递给函数:
o4tp2gmn3#
你可以通过函数调用传递这个来实现
daupos2t4#
试试这个:
HTML:
JavaScript: