Tôi đã tìm kiếm một chức năng chọn CSS ngoài Sizzle và tôi đã xem qua this function.document.evaluate - Trình duyệt chéo?
function SparkEn(xpath,root) {
xpath = xpath
.replace(/((^|\|)\s*)([^/|\s]+)/g,'$2.//$3')
.replace(/\.([\w-]+)(?!([^\]]*]))/g, '[@class="$1" or @class$=" $1" or @class^="$1 " or @class~=" $1 "]')
.replace(/#([\w-]+)/g, '[@id="$1"]')
.replace(/\/\[/g,'/*[');
str = '(@\\w+|"[^"]*"|\'[^\']*\')';
xpath = xpath
.replace(new RegExp(str+'\\s*~=\\s*'+str,'g'), 'contains($1,$2)')
.replace(new RegExp(str+'\\s*\\^=\\s*'+str,'g'), 'starts-with($1,$2)')
.replace(new RegExp(str+'\\s*\\$=\\s*'+str,'g'), 'substring($1,string-length($1)-string-length($2)+1)=$2');
var got = document.evaluate(xpath, root||document, null, 5, null);
var result=[];
while (next = got.iterateNext())
result.push(next);
return result;
}
Tôi chỉ cảm thấy nó quá tốt là đúng, đây có phải là chức năng chỉ có firefox (xpath?) Hay chậm? Về cơ bản tại sao tôi sẽ sử dụng Sizzle hơn này?
Tôi nghĩ đó chỉ là firefox, thật đáng thất vọng. Rõ ràng IE có thể làm điều đó trên các tài liệu XML. – Olical
o my god cuối cùng tôi tìm thấy một người nào đó suy nghĩ theo cùng một cách như iam :)))))))))))))))))))))) http://stackoverflow.com/questions/15310502/how-to-create-a- javascript-selector-engine – Marwan