jQuery next()不会返回类

时间:2017-04-11 18:07:56

标签: javascript jquery html

这是我的HTML

</label>
    <input type="checkbox" id="ServiceLocationActive" name="ServiceLocationActive" checked="" value="false">
    <span class="toggle"></span>
    <span class="toggle-text">Active</span>
<label>

这是我的JavaScript

$('#ServiceLocationActive').on('change', function(){
    if ($(this).is(':checked'))
        $(this).next('.toggle-text').html('Active');
    else
        $(this).next('.toggle-text').html('Inactive');
});

问题是下一个没有返回任何东西。如果我尝试仅使用.next(),我将获得第一个跨度,但如果我使用.next('.toggle-text'),我将无法获得任何结果。更进一步的荒谬是如果我使用next().next()我会得到我想要的那些。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

.next()会立即返回兄弟姐妹,元素.toggle元素不是.toggle-text元素。

您可以使用.siblings()

 $(this).siblings('.toggle-text')