Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не получается взять элемент :visible в chrome (https://javascript.ru/forum/css-html/30392-ne-poluchaetsya-vzyat-ehlement-visible-v-chrome.html)

frost18 02.08.2012 18:23

Не получается взять элемент :visible в chrome
 
<html>
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>

<img src="test.jpg">
<img style="display: none" src="test.jpg">

<script type="text/javascript">

console.log($('img:visible'));

</script>

</body>
</html>


Почему FireFox выводит один объект а Chrome нет?

Deff 02.08.2012 18:35

frost18,
А какая задача то - ? Поясните - без JQ выражений

frost18 02.08.2012 18:57

хочу разобраться почему так происходит. Почему этот селектор в разных браузерах работает по разному

Deff 02.08.2012 19:05

frost18,
:blink: Да - в Хроме - 0
<html>
<head>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>

<img src="test.jpg">
<img class=d style="display: none" src="test.jpg">

<img class=d src="test.jpg">

<div style="display: none">

           <img class=d src="test.jpg">

</div>
<script type="text/javascript">

alert('Кол-во\n не скрытых картинок = '+$('img.d:visible').length);

</script>

</body>
</html>


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

<img src="test.jpg">
<img class=d style="display: none" src="test.jpg">

<img class=d src="test.jpg">

<div style="display: none">

           <img class=d src="test.jpg">

</div>
<script type="text/javascript">

alert('Кол-во\n не скрытых картинок = '+$('img.d:visible').length);

</script>

</body>
</html>

Deff 02.08.2012 19:10

frost18,
В принципе - если картинки не нулевого рамера - мон проверять ширину - у скрытых вродь 0

Костыль:

<html>
<head>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>

<img src="http://st.pay-click.ru/data/links_block/19031_70_18623_10845-248280-8f0[1][1].jpeg">

<img src="http://st.pay-click.ru/data/links_block/19031_70_18623_10845-248280-8f0[1][1].jpeg">


<img id=PPP style="display:none" src="http://st.pay-click.ru/data/links_block/19031_70_18623_10845-248280-8f0[1][1].jpeg">



<div style="display: none">

<img src="http://st.pay-click.ru/data/links_block/19031_70_18623_10845-248280-8f0[1][1].jpeg">

</div>


<script type="text/javascript">
var ArrVisImg=[];

$('img').each(function(i) {
  if($(this).height()>0&&$(this).css('display')!='none') ArrVisImg.push($(this));
});
alert('Кол-во\n не скрытых картинок = '+ArrVisImg.length)
</script>

</body>
</html>


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