Rak*_*yal 0 html javascript dynamic
我使用以下javascript动态添加表中的行: -
var trObj = document.createElement('tr');
trObj.setAttribute('name', 'dynamicTR');
var tdObjEmpty = document.createElement('td');
tdObjEmpty.setAttribute('colspan', '2');
tdObjEmpty.innerHTML = ' '
trObj.appendChild ( tdObjEmpty );
var tdObj = document.createElement('td');
tdObj.setAttribute('colspan', '15');
tdObj.innerHTML = postingDivObj.innerHTML; // <-- copy the innerHTML
trObj.appendChild ( tdObj );
parentObj = approvedDisapprovedTableObj.getElementsByTagName('tbody')[0];
targetElementObj = getNthTr ( parentObj, rowIndex1 - extraTr ); // <-- it will just return the trObject,
if ( targetElementObj ){
parentObj.insertBefore(trObj, targetElementObj.nextSibling )
}else{
//alert ( 'targetElementObj is null' );
}
Run Code Online (Sandbox Code Playgroud)
这在FF和IE中都有效,[但是,我想,如果没有使用setAttribute设置IE 名称和colspan属性.但不确定].
现在,当我必须删除动态创建的所有行时,我使用: -
dynamicTRObjs = document.getElementsByName('dynamicTR');
if ( dynamicTRObjs ){
parentObj = approvedDisapprovedTableObj.getElementsByTagName('tbody')[0];
for ( i = 0 ; i < dynamicTRObjs.length; i++ ){
parentObj.removeChild ( dynamicTRObjs[i] );
extraTr++;
}
}
Run Code Online (Sandbox Code Playgroud)
此代码删除所有动态创建的TR.它在FF中工作正常,但在IE中却没有.
同样在IE的情况下dynamicTRObjs.length总是0,而在FF中dynamicTRObjs.length它给出正确的行数.请告诉我这里缺少什么.