回答編集履歴

1

追記

2017/11/17 00:30

投稿

yambejp
yambejp

スコア114850

test CHANGED
@@ -11,3 +11,97 @@
11
11
  });
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ # 追記
18
+
19
+ 文字列から取得
20
+
21
+
22
+
23
+ ```javascript
24
+
25
+ var strText=`
26
+
27
+ <div class="A" data="B">
28
+
29
+ <div class="C">
30
+
31
+ <div class="D">
32
+
33
+ <a href="/">×外側のクラスはAですが、data=Bが入っているので取得しません</a>
34
+
35
+ </div>
36
+
37
+ </div>
38
+
39
+ </div>
40
+
41
+ <div class="A">
42
+
43
+ <div class="C">
44
+
45
+ <div class="D">
46
+
47
+ <a href="/">取得します!!1</a>
48
+
49
+ </div>
50
+
51
+ </div>
52
+
53
+ </div>
54
+
55
+ <div class="ZZZZZZZZZZ">
56
+
57
+ <div class="C">
58
+
59
+ <div class="D">
60
+
61
+ <a href="/">×外側のクラスがZZZZZZZZZなので取得しません</a>
62
+
63
+ </div>
64
+
65
+ </div>
66
+
67
+ </div>
68
+
69
+ <div class="A">
70
+
71
+ <div class="C">
72
+
73
+ <div class="D">
74
+
75
+ <a href="/">取得します!!2</a>
76
+
77
+ </div>
78
+
79
+ </div>
80
+
81
+ </div>
82
+
83
+ <div class="A" data="B">
84
+
85
+ <div class="C">
86
+
87
+ <div class="D">
88
+
89
+ <a href="/">×外側のクラスはAですが、data=Bが入っているので取得しません</a>
90
+
91
+ </div>
92
+
93
+ </div>
94
+
95
+ </div>
96
+
97
+ `;
98
+
99
+ $(strText).filter('.A:not([data=B])').each(function(){
100
+
101
+ console.log($(this).prop('outerHTML'));
102
+
103
+ });
104
+
105
+
106
+
107
+ ```