リビジョン | 5b7de89e976e9e5fbb978488f87c0f53249d9348 (tree) |
---|---|
日時 | 2011-08-01 19:59:38 |
作者 | Hiromichi MATSUSHIMA <hirom@offi...> |
コミッター | Hiromichi MATSUSHIMA |
fix get_elemnets_* to not find itsef
@@ -202,7 +202,8 @@ class HTMLElement(list): | ||
202 | 202 | # basic query functions |
203 | 203 | def get_elements_by_name(self, name): |
204 | 204 | buf = [] |
205 | - self._r_get_elements_by_name(name, buf) | |
205 | + for i in self: | |
206 | + i._r_get_elements_by_name(name, buf) | |
206 | 207 | return buf |
207 | 208 | |
208 | 209 | def _r_get_elements_by_name(self, name, buf): |
@@ -212,9 +213,9 @@ class HTMLElement(list): | ||
212 | 213 | i._r_get_elements_by_name(name, buf) |
213 | 214 | |
214 | 215 | def get_element_by_id(self, id): |
215 | - if "id" in self.attrs and self.attrs["id"] == id: | |
216 | - return self | |
217 | 216 | for i in self: |
217 | + if "id" in i.attrs and i.attrs["id"] == id: | |
218 | + return i | |
218 | 219 | e = i.get_element_by_id(id) |
219 | 220 | if e != None: |
220 | 221 | return e |
@@ -223,7 +224,8 @@ class HTMLElement(list): | ||
223 | 224 | |
224 | 225 | def get_elements_by_class(self, cls): |
225 | 226 | buf = [] |
226 | - self._r_get_elements_by_class(cls, buf) | |
227 | + for i in self: | |
228 | + i._r_get_elements_by_class(cls, buf) | |
227 | 229 | return buf |
228 | 230 | |
229 | 231 | def _r_get_elements_by_class(self, cls, buf): |
@@ -276,6 +278,8 @@ class HTMLElement(list): | ||
276 | 278 | results = [elem.get_element_by_id(pat[1:]),] |
277 | 279 | elif pat[0] == ".": |
278 | 280 | results = elem.get_elements_by_class(pat[1:]) |
281 | + else: | |
282 | + results = elem.get_elements_by_name(pat) | |
279 | 283 | return [x for x in results if x] |
280 | 284 | |
281 | 285 | def select_1st(self, expr): |