0

わかりました、これは簡単なものかもしれませんが、どうすればよいかわかりません。「id」を取り込むメイン関数があります。この ID は一意であるため、カウントを実行し、そのカウントを 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/>"; 

それを `span id='editCommentsCounter-' + id のようなものにします

だから私がこれを呼び出すとき:

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

上記で、その ID を付けて editCommentsCounter を呼び出します

私が言っていることがわかりますか?

4

1 に答える 1

1

使用する:

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

そこにはたくさんありますが、innerHTML val を書くためにやろうとしていることのようです。そうでない場合は、コメントで詳しく教えてください。もっと提案できます。


新しいスパンを動的に構築してから、コンテンツを入力したいことがわかりました。最初に不可解なことの 1 つは、要素を参照して「id」+id を連結することです。これについて考えなければならないので、応答が速すぎて申し訳ありません。あなたの最終結果を見ていました。

固有 ID の設定:

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

これが役立つことを願っています!

于 2012-07-16T14:56:55.777 に答える