# basic query functions
def get_elements_by_name(self, name):
buf = []
- self._r_get_elements_by_name(name, buf)
+ for i in self:
+ i._r_get_elements_by_name(name, buf)
return buf
def _r_get_elements_by_name(self, name, buf):
i._r_get_elements_by_name(name, buf)
def get_element_by_id(self, id):
- if "id" in self.attrs and self.attrs["id"] == id:
- return self
for i in self:
+ if "id" in i.attrs and i.attrs["id"] == id:
+ return i
e = i.get_element_by_id(id)
if e != None:
return e
def get_elements_by_class(self, cls):
buf = []
- self._r_get_elements_by_class(cls, buf)
+ for i in self:
+ i._r_get_elements_by_class(cls, buf)
return buf
def _r_get_elements_by_class(self, cls, buf):
results = [elem.get_element_by_id(pat[1:]),]
elif pat[0] == ".":
results = elem.get_elements_by_class(pat[1:])
+ else:
+ results = elem.get_elements_by_name(pat)
return [x for x in results if x]
def select_1st(self, expr):