第一个条件正常,第二个条件不正常

时间:2016-01-12 13:32:46

标签: jquery option next

目标是从选项标签中获取值并将其放入href中。我有第一个和最后一个选项的问题。如果没有下一个选项 - 带按钮的块(条件响应),根本不显示。也许有人可以告诉我为什么?

JS:

$(".footer .upMenu").before("<p class='chapter-control'><a href=''>Previous chapter </a><a href=''>Next chapter</a></p>");

$(".chapter-control a:last-child").attr("href", function() {
    var valueNext = $("#chapter option:selected").next().val();
    if (valueNext.length != 0) {
        return valueNext;
    } else {
        return "#";
    }
});
$(".chapter-control a:first-child").attr("href", function() {
    var valuePrev = $("#chapter option:selected").prev().val();
    if (valuePrev.length != 0) {
        return valuePrev;
    } else {
        return "#";
    }
});

HTML:

Chapter<select id="chapter">
    <option selected="selected" value="http://......">Chapter 5</option>
    <option value="http://....">Chapter 6</option>
    <option value="http://....">Chapter 7</option>
</select>
<div class="footer">
</div>
<!-- footer end-->

1 个答案:

答案 0 :(得分:0)

最后我自己找到了解决方案:

JS:

$(".chapter-control a:last-child").attr("href", function() {
    var valueNext = $("#chapter option:selected").next();
    if (valueNext.length != 0) {
        return valueNext.val();
    }
});
$(".chapter-control a:first-child").attr("href", function() {
    var valuePrev = $("#chapter option:selected").prev();
    if (valuePrev.length != 0) {
        return valuePrev.val();
    }
});

我只需要检查,而不是先前选项中属性值的空白,而是现有选项。