Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   firstChild - не работает в FireFox (https://javascript.ru/forum/css-html-firefox-mizilla/30263-firstchild-ne-rabotaet-v-firefox.html)

lamer 29.07.2012 18:20

firstChild - не работает в FireFox
 
В ИЕ все работает, а вот в FF не хочет, в гугле не чего толкового не нашел, подскажите плиз в чем проблема ?

<html>

<head>
</head>

<body>
<div id="qwe">
<a href="javascript:alert('ok');">
<b>Go</b>
</a>
</div>
<br>
<input type="button" value="ok" onclick="qweqe();">

<script>
function qweqe(){
document.getElementById('qwe').firstChild.click();
}
</script>
</body>

</html>

dmitriymar 29.07.2012 18:39

<head>
</head>
 
<body>
<div id="qwe">
<a href="javascript:alert('ok');" name="rt">
<b>Go</b>
</a>
</div>
<br>
<input type="button" value="ok" onclick="qweqe();">
 
<script>
function qweqe(){
alert((document.getElementById('qwe').firstChild).name);
alert((document.getElementById('qwe').firstChild).nodeType);// тип 3-текстовый узел
}
</script>
</body>

http://javascript.ru/tutorial/dom/in...-dom-elementov

NoResponse 29.07.2012 19:47

дадада, Enter тоже текст !!!

вот так будет находить, но это костыль
<head>
</head>
 
<body>
<div id="qwe"><a href="javascript:alert('ok');" name="rt">
<b>Go</b>
</a>
</div>
<br>
<input type="button" value="ok" onclick="qweqe();">
 
<script>
function qweqe(){
alert((document.getElementById('qwe').firstChild).name);
alert((document.getElementById('qwe').firstChild).nodeType);// тип 3-текстовый узел
}
</script>
</body>

dmitriymar 29.07.2012 20:54

получить первый элемент проверить его тип, если не 1 -получить следующий -не вариант постоянно дёргать dom.
Получить все дочерние, первый из массива у какого тип 1-первый тег

lamer 30.07.2012 00:05

Может я не так объяснил или я не догнал что вы имеете введу :)
Попробую повторить, мне нужно чтоб при клике на
<input type="button" value="ok" onclick="qweqe();">


Кликался
<a href="javascript:alert('ok');"><b>Go</b></a>

Deff 30.07.2012 00:22

lamer,
Ccылки с Вариантом href="javascript: - не кликабельны программно
Этим изредка пользуются, для хитрых входов на страницу логирования

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>


<a href="#" onclick="alert('ok');return false;"><b>Go</b></a><br />

<a href="javascript:alert('ok'):"><b>No</b></a><br /><br />

<input type="button" value="ok" onclick="qweqe();"><br />
<script type="text/javascript">
function qweqe() { 
 $("a:contains('Go')").click()
alert('Ccылка "Go" обнаружена - и Кликается\nhref='+$("a:contains('Go')").attr("href"))
 $("a:contains('No')").click();
alert('Ccылка "No" обнаружена - но не Кликается программно\nhref='+$("a:contains('No')").attr("href"))
}
</script>

dmitriymar 30.07.2012 08:22

Цитата:

Сообщение от lamer
Может я не так объяснил или я не догнал что вы имеете введу
Попробую повторить, мне нужно чтоб при клике на
<input type="button" value="ok" onclick="qweqe();">
Кликался
<a href="javascript:alert('ok');"><b>Go</b></a>

<a href="javascript:alert('ok');"><b>Go</b></a>

не первый потомок. у
<div id="qwe">
.
Ссылку на статью от какой начинать копать я дал.Тем более
NoResponse, ясно вам сказал что первый потомок это Ентер. -поскольку он создаёт текстовый узел.

lamer 30.07.2012 22:35

Господа, спасибо что откликнулись, но презнатсья я не чего не понял как быть с этими потомками, понял что у меня третий потомок, а я указывал первый, как сделать третий я не нашел в гугле ;)

Выкрутился по другому

function qweqe(){
document.getElementById('qwe').getElementsByTagName('a')[0].click();
}

lamer 31.07.2012 00:55

Уважаемые, помогите плиз ещё разок, другой немного сценарий не работает в фаерфоксе.

<html>

<head>
</head>

<body>
<form>
<td id="aaa"><input type="button" onclick="alert('ok');" value="OK"></td>
<br><br>
<input type="button" onclick="delet();" value="Click" class="button confirm">
</form>
<script>
function delet(){
document.getElementById('aaa').document.getElementsByTagName('input')[0].click();
}
</script>
</body>

</html>


В IE все работает, а вот в фаерфоксе не хочет, в чем проблема ?

Deff 31.07.2012 01:15

<html>

<head>
</head>

<body>
<form>
<div id="aaa"><input type="button" onclick="alert('ok');" value="OK"></div>
<br><br>
<input type="button" onclick="delet();" value="Click" class="button confirm">
</form>

<script>
function delet(){
document.getElementById('aaa').getElementsByTagName('input')[0].click();
}
</script>

</body>

</html>


Часовой пояс GMT +3, время: 03:54.