Javascript将函数调用中的变量传递给innerHtml

时间:2012-07-16 14:52:57

标签: javascript

好的,这可能很简单,我只是不知道该怎么做。我有一个主要功能,它正在接收“id”。这个id是唯一的,我想将它传递给另一个为我计数并将该计数返回到innerHtml span标记的函数。

原因是因为我可以同时打开其中的5个,但是它们将具有相同的span id名称“editCommentsCounter”...我希望它们像“editCommentsCounter-id”

function editCommentToggle( id )
{
    theRow = document.getElementById("id"+id);
    //user = theRow.cells[0].innerHTML;
    //date = theRow.cells[1].innerHTML;
    com = theRow.cells[2].innerText ;
    comLength = theRow.cells[2].innerText.length ;

    idx = 2;
    maxlength = 250;
    count = maxlength - comLength;


        // Comment field
        cell = theRow.cells[idx];
        while( cell.childNodes.length > 0 ) cell.removeChild(cell.childNodes[0]);

        spanTag = document.createElement("span"); 
        spanTag.innerHTML = "You have <strong><span id='editCommentsCounter'>"+count+"</span></strong> characters left.<br/>"; 
        cell.appendChild(spanTag);
        element = document.createElement("textarea");
        element.id="commentsTextArea-"+id;
        element.rows="3";
        element.value = com;
        element.style.width = "400px";
        element.maxLength = "250";
        element.onfocus = element.onkeydown = element.onkeyup = function(){return characterCounterEdit('editCommentsCounter', maxlength, this);}; 
        cell.appendChild(element);

}

基本上我想采取:

   spanTag.innerHTML = "You have <strong><span id='editCommentsCounter'>"+count+"</span></strong> characters left.<br/>"; 

并将其改为`span id ='editCommentsCounter-'+ id

所以当我这样称呼时:

element.onfocus = element.onkeydown = element.onkeyup = function(){return characterCounterEdit('editCommentsCounter', maxlength, this);};

我在上面用editCommentsCounter调用了上面附带id的

看看我在说什么?

1 个答案:

答案 0 :(得分:1)

使用:

document.getElementById("editCommentsCounter-" + id).innerHTML = someVal;

你有很多,但似乎你正在尝试编写innerHTML val。如果没有,请在评论中告诉我更多,我可以提出更多建议。


我看到你想要动态构建一个新的跨度,然后填充内容。有一点令人费解,一开始你引用元素和concat“id”+ id。不得不考虑这个问题,以便对过快的反应道歉;只是看着你的最终结果。

设置唯一ID:

var spanTag = document.createElement("span");
spanTag.id = 'editCommentsCounter-' + id;
spanTag.innerHTML = 'You have ...' + count + '...';
document.body.appendChild(spanTag);

我希望这有帮助!