简体   繁体   English

使用带有动态值的 JS 在 HTML 表中切换文本

[英]Toggle text in HTML table using JS with dynamic values

I'm using a datatable in Bootstrap to create a table which jinja2 will populate with values passed from Flask, example below:我在 Bootstrap 中使用数据表来创建一个表,jinja2 将使用从 Flask 传递的值填充该表,示例如下:

Name姓名 URL URL
google谷歌 www.google.com www.google.com
reddit红迪网 www.reddit.com www.reddit.com
{% for site in results %}
<tr>
<td>{{ site['sitename'] }}</td>
<td>{{ site['url'] }}</td>
</tr>
{% endfor %}

I also have site['new_url'] which is passed in results.我也有在结果中传递的site['new_url'] I want to make the site['url'] clickable and have that toggle between site['url'] and site['new_url'] when clicked.我想让site['url']可点击,并在点击时在site['url']site['new_url']之间切换。

I'd like to implement using JS if possible or if there is another easier way I'm up for that too!如果可能的话,我想使用 JS 来实现,或者如果有另一种更简单的方法,我也准备好了!

Any help is appreciated!任何帮助表示赞赏!

A Js solution:一个js解决方案:

{% for site in results %}
<tr>
<td>{{ site['sitename'] }}</td>
<td onclick="swapText()" id="target">{{ site['url'] }}</td>
</tr>
<script>
function swapText() {
  var x = document.getElementById("target");
  if (x.innerHTML === "{{ site['url'] }}") {
    x.innerHTML = "{{ site['new_url'] }}";
  } else {
    x.innerHTML = "{{ site['url'] }}";
  }
}
</script>
{% endfor %}


声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM