javascript - 使用 jquery mobile 时,siblings() 不起作用

标签 javascript jquery jquery-mobile

请看一下下面的两个 fiddle 。一个有 jquery mobile,另一个没有(仅限 jquery)。仅 jquery 版本可以找到同级,但 jqm 版本则不能!我做错了什么?!

$("#UCMRegSel").change(function() {
    $(this).siblings("select").toggleClass("toggle");
    console.log($(this).attr('id'));
    $(this).siblings('select').each(function() {
        if (self != this)
        console.log($(this).attr('id'));
    });
});

JQM版本:https://jsfiddle.net/dpatel20/1e2Ltr04/

仅 Jquery 版本:https://jsfiddle.net/dpatel20/teLx8Ly1/

最佳答案

jQuery Mobile 在选择时创建额外的容器。所以 sibling 功能将不起作用。

请改用以下内容。

$("#UCMRegSel").change(function() {
  $(this).closest('.ui-select')
    .siblings(".ui-select").toggleClass("toggle");
  $(this).closest('.ui-select')
    .siblings(".ui-select")
    .each(function() {
        var select = $(this).find('select').eq(0);
        if (self != select)
        console.log(select.attr('id'));
  });
});

关于javascript - 使用 jquery mobile 时,siblings() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34436566/

相关文章:

javascript - 是否可以使用Jquery操作表单的目标窗口

javascript - 如何将 "null"值发送到需要函数作为参数的函数

javascript - jQuery 无法解析使用 Ruby-JSON 构建的 JSON

javascript - 定时图像变化

javascript - 如何检测chrome和safari浏览器(webkit)

css - 删除 Jquery Mobile 复选框覆盖

jquery - 按答案数过滤问题

javascript - 允许通过绑定(bind)到 "click"事件的 div 单击链接

javascript - jquerymobile 动态添加选择菜单

javascript - hamburgler.js 无法在移动设备上关闭