mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-01 13:24:25 +01:00
parent
33b275c04b
commit
d15a0247ce
@ -14,10 +14,6 @@
|
|||||||
const NODE_TEXT = 3
|
const NODE_TEXT = 3
|
||||||
|
|
||||||
const SelectorEngine = {
|
const SelectorEngine = {
|
||||||
matches(element, selector) {
|
|
||||||
return element.matches(selector)
|
|
||||||
},
|
|
||||||
|
|
||||||
find(selector, element = document.documentElement) {
|
find(selector, element = document.documentElement) {
|
||||||
return [].concat(...Element.prototype.querySelectorAll.call(element, selector))
|
return [].concat(...Element.prototype.querySelectorAll.call(element, selector))
|
||||||
},
|
},
|
||||||
@ -38,7 +34,7 @@ const SelectorEngine = {
|
|||||||
let ancestor = element.parentNode
|
let ancestor = element.parentNode
|
||||||
|
|
||||||
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
||||||
if (this.matches(ancestor, selector)) {
|
if (ancestor.matches(selector)) {
|
||||||
parents.push(ancestor)
|
parents.push(ancestor)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +62,7 @@ const SelectorEngine = {
|
|||||||
let next = element.nextElementSibling
|
let next = element.nextElementSibling
|
||||||
|
|
||||||
while (next) {
|
while (next) {
|
||||||
if (this.matches(next, selector)) {
|
if (next.matches(selector)) {
|
||||||
return [next]
|
return [next]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,14 +14,6 @@ describe('SelectorEngine', () => {
|
|||||||
clearFixture()
|
clearFixture()
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('matches', () => {
|
|
||||||
it('should return matched elements', () => {
|
|
||||||
fixtureEl.innerHTML = '<div></div>'
|
|
||||||
|
|
||||||
expect(SelectorEngine.matches(fixtureEl, 'div')).toEqual(true)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('find', () => {
|
describe('find', () => {
|
||||||
it('should find elements', () => {
|
it('should find elements', () => {
|
||||||
fixtureEl.innerHTML = '<div></div>'
|
fixtureEl.innerHTML = '<div></div>'
|
||||||
|
Loading…
Reference in New Issue
Block a user