将变量包含在document.getElementById中不起作用

时间:2017-03-14 18:23:55

标签: javascript

<form action="results.html" method="GET">
    <select class="soflow" onchange="getGoalkeeper(this)">
        <option value="">Select a stat...</option>
        <option value="saves">Saves</option>
        <option value="goals_conceded">Goals Conceded</option>
        <option value="clean_sheets">Clean Sheets</option>
        <option value="penalties_saved">Penalties Saved</option>
        <option value="goals_scored">Goals</option>
        <option value="assists">Assists</option>
        <option value="yellow_cards">Yellow Cards</option>
        <option value="red_cards">Red Cards</option>
        <option value="penalties_missed">Penalties Missed</option>
    </select>
    <input type="submit" value="submit"/>
</form>

的index.html

var json = //json data

function getGoalkeeper(selectObject) {
var value = selectObject.value;
var position = 1;
var fr = $(json).filter(function (i,n){return n.element_type===position });

for (var i=0;i<fr.length;i++)
{
document.getElementById('result').innerHTML += "<span class='statistic' id=" + fr[i].id + "><a href='https://platform-static-files.s3.amazonaws.com/premierleague/photos/players/110x140/p" + fr[i].code + ".png'>" + fr[i].clean_sheets + "</a></span>" +"<br />";
}}

的script.js

我正在尝试获取变量&#34; value&#34;替换&#34; clean_sheets&#34;所以而不是&#34; fr [i] .clean_sheets&#34;我想&#34; fr [i]。 +值&#34;但是这不起作用并且正在返回&#34; Uncaught SyntaxError:Unexpected token +&#34;在控制台中。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

简单地说,您必须使用与循环对象属性时相同的方式。我的意思是,与fr[i]访问媒体资源i的方式相同,您需要fr[i][value]才能访问媒体资源value

PD:虽然fr是一个数组,但每个索引的访问方式与对象中的属性相同。