if (count = 1)
всегда имеет значение true, поскольку устанавливает число, равное 1! .if (count == 1)
будет истинным, только если count
равно 1. Эти два значения не обязательно должны быть одного типа.if (count === 1)
будет истинным, только если два равны и имеют одинаковый тип.
Количество должно быть равным количеству, а не строка, содержащая "Size: ..."
.
Вы должны использоватьlength
свойство вместо .count()
, так как оно немного быстрее (это в соответствии с jQuery ).
Вы можете обернуть все это в себя, называющего себя анонимнымфункция, чтобы вы не загрязняли глобальное пространство имен .... если только вы не используете эти переменные позже (очевидно, только в том случае, если вы не перенаправляете страницу).
I'mпри условии, что HTML-код находится перед тегами <script>
.... если нет, вам нужен готовый документ: `$ (function () {...});
<!-- HTML up here ... -->
<script type="text/javascript">
(function() {
var count =($('.option').length);
// "count = 1" SETS COUNT EQUAL TO 1!!!!!
if (count === 1) {
// Why use each? We are redirecting to the first href.
$('.readmore a').each(function () {
var url = $(this).attr('href');
window.location.replace(url);
})
}
else {
alert("more than 1... specifically " + count);
}
})();
</script>
Наконец, нетпричина использовать .each()
, так как вы будете перенаправлять после первого .readmore a
.... Может быть, вы должны проверить, сколько существует .readmore a
s?Во всяком случае, для меня это имеет больше смысла:
<!-- HTML up here ... -->
<script type="text/javascript">
(function() {
var count =($('.option').length);
// "count = 1" SETS COUNT EQUAL TO 1!!!!!
if (count === 1) {
var url = $('.readmore a').first().attr('href');
window.location.replace(url);
}
else {
alert("more than 1... specifically " + count);
}
})();
</script>
jsFiddle пример w 2
jsFiddle пример w1