2012-07-16 124 views
0

好吧,这可能是一个容易的,我只是不知道该怎么做。我有一个主要的功能,它在一个“ID”。此ID是唯一的,我想将它传递给另一个为我计数的函数,并将该计数返回给innerHtml span标记。Javascript将一个变量从函数调用传递给innerHtml

之所以这样,是因为我可以在同一时间有这些开放的5,但它们将具有相同的跨度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/>"; 

,并作出这样的成类似`跨度ID = 'editCommentsCounter-' + ID

所以当我把这个:

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

我editCommentsCounter称这上面连接到它

该ID看看林说什么吗?

+0

有人喜欢污染全局命名空间。使用var! – epascarello 2012-07-16 14:57:18

回答

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); 

我希望这有助于!

+0

否......我试图使用innerHtml ..而不是'spanTag.innerHTML =“创建一个spanTag。”您有“+ count +”剩下的字符。
“;' – 2012-07-16 15:02:04

+0

I想要在范围内使用'editCommentsCounter-id' ......所以当我在脚本的底部调用函数时....我也用'editCommentsCounter-id'调用它 – 2012-07-16 15:04:32

+0

好的....这是它基本上......有2次'editCommentsCounter' ...我希望它们都是我在问题中提供的代码中的'editCommentsCounter-id' ...介意你'id'是我通过的值进入功能 – 2012-07-16 15:06:16

相关问题