File tree Expand file tree Collapse file tree 5 files changed +14
-14
lines changed Expand file tree Collapse file tree 5 files changed +14
-14
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -821,11 +821,11 @@ Element.prototype = {
821
821
return ls ;
822
822
} ) ;
823
823
} ,
824
- getElementsByClassName : function ( className ) {
824
+ getElementsByClassName : function ( className , exactMatch = true ) {
825
825
return new LiveNodeList ( this , function ( base ) {
826
826
var ls = [ ] ;
827
827
_visitNode ( base , function ( node ) {
828
- if ( node !== base && node . nodeType == ELEMENT_NODE && node . hasAttribute ( 'class' ) && ( node . getAttribute ( 'class' ) == className ) ) {
828
+ if ( node !== base && node . nodeType == ELEMENT_NODE && node . hasAttribute ( 'class' ) && ( exactMatch ? node . getAttribute ( 'class' ) === className : node . getAttribute ( 'class' ) . replace ( / \s + / g , ' ' ) . trim ( ) . split ( " " ) . includes ( className ) ) ) {
829
829
ls . push ( node ) ;
830
830
}
831
831
} ) ;
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " react-native-html-parser" ,
3
- "version" : " 0.0.5 " ,
3
+ "version" : " 0.1.0 " ,
4
4
"description" : " can use html/xml parser in react-native/titanium/browser anywhere" ,
5
5
"keywords" : [
6
6
" dom" ,
71
71
}
72
72
],
73
73
"bugs" : {
74
- "url" : " http://github.com/g6ling/xmldom /issues" ,
74
+ "url" : " http://github.com/g6ling/react-native-html-parser /issues" ,
75
75
"email" : " g6lingpdev@gmail.com"
76
76
},
77
77
"licenses" : [
Original file line number Diff line number Diff line change @@ -24,13 +24,13 @@ class TestReactNativeHtmlParser extends Component {
24
24
componentDidMount () {
25
25
let html = ` <html>
26
26
<body>
27
- <div id="b">
27
+ <div id="b a ">
28
28
<a href="example.org">
29
29
<div class="inA">
30
30
<br>bbbb</br>
31
31
</div>
32
32
</div>
33
- <div class="bb">
33
+ <div class="bb a ">
34
34
Test
35
35
</div>
36
36
</body>
@@ -39,7 +39,8 @@ class TestReactNativeHtmlParser extends Component {
39
39
40
40
console .log (doc .querySelect (' #b .inA' ))
41
41
console .log (doc .getElementsByTagName (' a' ))
42
- console .log (doc .querySelect (' #b a[href="example.org"]' ))
42
+ console .log (doc .querySelect (' #b a[href="example.org"]' ))
43
+ console .log (doc .getElementsByClassName (' a' , false ))
43
44
}
44
45
45
46
}
Original file line number Diff line number Diff line change 1
- var DOMParser = require ( 'react-native-html -parser' ) . DOMParser ;
1
+ var DOMParser = require ( '../dom -parser' ) . DOMParser ;
2
2
var doc = new DOMParser ( ) . parseFromString (
3
3
'<html><body>' +
4
- '<div id="a" class="a ">' +
4
+ '<div id="a" class="ab ">' +
5
5
'<a class="b">abcd</a>' +
6
6
'</div>' +
7
- '<div class="b">' +
7
+ '<div class="b a andEvenMore ">' +
8
8
'<a href="aa" id="b">' +
9
9
'</div>' +
10
10
'</body></html>'
11
11
, 'text/html' ) ;
12
12
13
- //console.log(doc.getElementsByAttribute('class', 'b'));
13
+ // console.log(doc.getElementsByAttribute('class', 'b'));
14
+ console . log ( doc . getElementsByClassName ( 'b' , false ) )
14
15
//console.log(doc.querySelect('.div.aa class#a a'))
15
16
//console.log(doc.findSelector('div.aa#in[ii="a"]'))
16
17
//console.log(doc.getElementsBySelector('a[href="aa"]#b'))
17
18
//console.log(doc.getElementsBySelector('div.b'))
18
- console . log ( doc . querySelect ( 'div.a a.b' ) )
19
+ // console.log(doc.querySelect('div.a a.b'))
19
20
console . log ( 'end' )
You can’t perform that action at this time.
0 commit comments