-1

我在 HTML 模板中有一些 JS。如何按语法计算某个值,将其存储在变量中,然后将其用作元素的 ID?它现在不工作。谁能帮我弄清楚我做错了什么?

if (key == "down"){
    var tri_id = "triangle" + status_JSON['down'][1];
    document.getElementById(tri_id).innerHTML = "<img class='voting' src='images/vote_grey.png'></img>";
    document.getElementById(status_JSON['down'][1]).innerHTML = status_JSON["down"][0];
} 

DOM 是:

<script type="text/javascript">
var triangle_id = "triangle" + "{{each[1].key()}}";
</script>
<div class='votes_div'>
    <table id="votes_table">
    <tr>
        <td>
            <a href='javascript:registerVote("{{each[1].key()}}")'>
                <span id=triangle_id title='vote if you think this review is helpful'><img class='voting' src='../../../../images/vote_grey.png'></img></span>
            </a>
        </td>
    </tr>

对不起,我是初学者!

4

2 回答 2

2

编码:

document.getElementById("tri_id")

实际上会寻找一个名为 tri_id. 要使用变量的值,请使用:

document.getElementById(tri_id)
于 2013-05-28T01:47:20.367 回答
2

HTML 无法访问 JavaScript 环境。所以这不会像你期望的那样工作:

<script type="text/javascript">
var triangle_id = "triangle1234"
</script>
<span id=triangle_id>

span 标签的 id 为“triangle_id”(字面意思),而不是“triangle1234”。

看起来您正在使用某种语言将动态数字嵌入到 HTML 中。您必须直接在标签中执行此操作:

<span id="triangle{{each[1].key()}}">
于 2013-05-28T02:23:09.263 回答