ка настроить под ие
данный скрипт не работает в ие 8 и ниже почему?
из className?
function sliceText(){
var lengthArray,endLen,resultText,findEndSymols,fullLink;
var AllClass=document.getElementsByClassName("text");
for(var i=0;i<AllClass.length;i++)
{
lengthArray=AllClass[i].innerHTML.length;//длина текстовой строки
if(lengthArray>200){
//-------------------------------------
fullLink=document.createElement('a');
//создание ссылки на полный текст
fullLink.setAttribute("href"," ");
fullLink.setAttribute("onclick","Fulltext(this);return false;");
fullLink.innerHTML="Смотреть полностью...";
//-------------------------------------
/*выводится только 30% текста */
endLen=(lengthArray/100)*30;
//--------------------
findEndSymols=AllClass[i].innerHTML.slice(endLen);
findEndSymols=findEndSymols.indexOf(" ");
endLen=endLen+findEndSymols;//вырезать начиная с пробела
//--------------------
resultText=AllClass[i].innerHTML.slice(0,endLen)+"<span class='notVisible'>"+AllClass[i].innerHTML.slice(endLen)+"</span>";
AllClass[i].innerHTML=resultText+" ";
AllClass[i].appendChild(fullLink);
}
}
}
function Fulltext(obj){
if(obj.parentNode.childNodes[(obj.parentNode.childNodes.length-3)].nodeType == 1){
obj.parentNode.childNodes[(obj.parentNode.childNodes.length-3)].style.display="inline";
obj.parentNode.removeChild(obj);
}
else alert("Проблема при обработке span");
}
|
getElementsByClassName не поддерживается
|
Цитата:
я не наншел чем можно заменить для ие |
|
эт конечно хорошо но за 6 страниц не одной ссылки на ру сайт.
у меня не на столько хорошие знания английского... |
document.getElementsByClassName = document.getElementsByClassName || function( className ) {
var atElem = this && this.nodeType && this || document,
elems = atElem.getElementsByTagName( '*' ),
result = [], elem;
for( var i = 0; elem = elems[ i++ ]; ) {
if ( elem.className && ( (" " + elem.className + " ").indexOf( " " + className + " " ) >= 0 ) ) {
result[ result.length ] = elem;
}
}
return result;
}
|
спасибо
|
а что скажите насчет такого кода?
function browserIE(FindClass){
//ie6 test
var allSpan=document.getElementsByTagName('*');
var arrElements=[],g=0;
for(var i=0;i<allSpan.length;i++){
if(allSpan[i].className==FindClass){
arrElements[g]=allSpan[i];
g++;
}
}
return arrElements;
//---------------------------------------
}
|
Будет работать только если селектор точно совпадает со значением атрибута class. Предыдущий лучше.
А ещё можно обойтись без g, ну хотя бы так: arrElements[arrElements.length]=allSpan[i]; или с помощью .push |
| Часовой пояс GMT +3, время: 05:29. |