使用jquery mobile时,siblings()无法正常工作

时间:2015-12-23 13:15:33

标签: javascript jquery jquery-mobile

请查看以下两个小提琴。一个有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/

1 个答案:

答案 0 :(得分:1)

jQuery Mobile在select中创建了额外的容器。所以兄弟姐妹的功能不会起作用。

请改用以下内容。

$("#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'));
  });
});