diff --git a/src/jqLite.js b/src/jqLite.js index 8305f0c30f2c..6c493dc887af 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -718,7 +718,14 @@ forEach({ }, next: function(element) { - return element.nextSibling; + if (element.nextElementSibling) { + return element.nextElementSibling; + } + var elm = element.nextSibling; + while (elm != null && elm.nodeType !== 1) { + elm = elm.nextSibling; + } + return elm; }, find: function(element, selector) { diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 01f9b9ae8138..2c6e9d01e3a2 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -1,4 +1,3 @@ - describe('jqLite', function() { var scope, a, b, c; @@ -1068,7 +1067,7 @@ describe('jqLite', function() { describe('next', function() { it('should return next sibling', function() { - var element = jqLite('
bi
'); + var element = jqLite('
bTextNodei
'); var b = element.find('b'); var i = element.find('i'); expect(b.next()).toJqEqual([i]);