bug fix:
* HTMLALLCollection is array-like object, for-in loop may return duplicated elements, caused by underlying object;
* while selected no elements, els will be returned as an empty array, replace it with null;