mirror of https://github.com/gorhill/uBlock.git
Fix nth-of-type() not accepting identifier-based arguments
Related feedback: - https://github.com/uBlockOrigin/uBlock-issues/issues/2284#issuecomment-1271552479
This commit is contained in:
parent
93953f9b21
commit
3f8e3fe0c6
|
@ -1613,18 +1613,22 @@ Parser.prototype.SelectorCompiler = class {
|
|||
out.push(`#${data.name}`);
|
||||
break;
|
||||
case 'Nth': {
|
||||
const a = parseInt(data.nth.a, 10) || null;
|
||||
const b = parseInt(data.nth.b, 10) || null;
|
||||
if ( a !== null ) {
|
||||
out.push(`${a}n`);
|
||||
if ( b === null ) { break; }
|
||||
if ( b < 0 ) {
|
||||
if ( data.nth.type === 'AnPlusB' ) {
|
||||
const a = parseInt(data.nth.a, 10) || null;
|
||||
const b = parseInt(data.nth.b, 10) || null;
|
||||
if ( a !== null ) {
|
||||
out.push(`${a}n`);
|
||||
if ( b === null ) { break; }
|
||||
if ( b < 0 ) {
|
||||
out.push(`${b}`);
|
||||
} else {
|
||||
out.push(`+${b}`);
|
||||
}
|
||||
} else if ( b !== null ) {
|
||||
out.push(`${b}`);
|
||||
} else {
|
||||
out.push(`+${b}`);
|
||||
}
|
||||
} else if ( b !== null ) {
|
||||
out.push(`${b}`);
|
||||
} else if ( data.nth.type === 'Identifier' ) {
|
||||
out.push(data.nth.name);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue