Добрый день! снова я
, благодарю ещё раз за предыдущие ответы, и вот новый вопрос: почему когда в тэг допустим "p" вложенны другие тэги, то Regexp не ищется? суть: поисковик, в одном фрэйме ввожу слово для поиска, в другом это слово ищется и сзади подсвечивается зелёным
, всё работает, но если в тэг в ложенны другие тэги то - не работает. Читал статью с этого сайто про Regexp честно! но что-то ответа на свой вопрос не нашёл, хотя подозревая что не понимаю каких-то простых основ, кароч подскажите кто может!
если кому интересно такой код, ну а в хтмл, соответственно форма, фреймы, да текст, вобщем ничего интересного.
function reset_slovo (){
document.forma_poiska.slovo.value = "";
}
function key (event){
event = event || window.event;
if(event.keyCode == 0xA || event.keyCode == 0xD){poisk();}
}
function poisk(){
/*for (var i=0; i<parent.detail.document.body.all.length ; i++)
{alert(parent.detail.document.body.all[i].tagName + " " + i + " " + parent.detail.document.body.all[i].innerHTML);}*/
var text= parent.detail.document.body.all;
var name = document.forma_poiska.slovo.value;
if(name == ""){return false;}
for (var i=0; i<text.length ; i++)
{
if (text[i].tagName.toLowerCase()== "p" || text[i].tagName.toLowerCase()== "b" || text[i].tagName.toLowerCase()== "li" || text[i].tagName.toLowerCase()== "ul" || text[i].tagName.toLowerCase()== "font" || text[i].tagName.toLowerCase()== "div" || text[i].tagName.toLowerCase()== "BR") {
//alert(text[i].tagName + " " + i + " " + text[i].innerHTML);
var tra = text[i].innerHTML;
var as = new RegExp("(^|\\s)"+name+"(\\s|$)", "i");
var as2 = as.test(tra);
if(as2)
{text[i].innerHTML = text[i].innerHTML.replace(as, '$1<span class="noga">'+name+'</span>$2'); i= i -1;}
} // for
} //if
}// function
з.ы.: мой первый опыт с Regexp, так что поливайте код грязью не стесняйтесь, - буду править.