Added support for finding elements that have underscores in their name (along with other allowed characters). Fix for ticket #1084.
This commit is contained in:
parent
610149fd19
commit
fce2bdf7ff
3 changed files with 9 additions and 5 deletions
|
@ -85,6 +85,8 @@
|
|||
<span id="utf8class2" class="台北"></span>
|
||||
<span id="foo:bar" class="foo:bar"></span>
|
||||
<span id="test.foo[5]bar" class="test.foo[5]bar"></span>
|
||||
|
||||
<foo_bar id="foobar">test element</foo_bar>
|
||||
</form>
|
||||
<b id="floatTest">Float test.</b>
|
||||
<iframe id="iframe" name="iframe"></iframe>
|
||||
|
|
|
@ -80,7 +80,7 @@ jQuery.extend({
|
|||
|
||||
// Match: :even, :last-chlid, #id, .class
|
||||
new RegExp("^([:.#]*)(" +
|
||||
( jQuery.chars = "(?:[\\w\u0128-\uFFFF*-]|\\\\.)" ) + "+)")
|
||||
( jQuery.chars = "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)" ) + "+)")
|
||||
],
|
||||
|
||||
token: [
|
||||
|
@ -152,7 +152,7 @@ jQuery.extend({
|
|||
|
||||
// An attempt at speeding up child selectors that
|
||||
// point to a specific element tag
|
||||
var re = /^[\/>]\s*([\w*-]+)/;
|
||||
var re = new RegExp("^[/>]\\s*(" + jQuery.chars + "+)");
|
||||
var m = re.exec(t);
|
||||
|
||||
if ( m ) {
|
||||
|
@ -207,7 +207,7 @@ jQuery.extend({
|
|||
|
||||
} else {
|
||||
// Optomize for the case nodeName#idName
|
||||
var re2 = new RegExp("^(\\w+)(#)(" + jQuery.chars + "+)");
|
||||
var re2 = new RegExp("^(" + jQuery.chars + "+)(#)(" + jQuery.chars + "+)");
|
||||
var m = re2.exec(t);
|
||||
|
||||
// Re-organize the results, so that they're consistent
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module("selector");
|
||||
|
||||
test("element", function() {
|
||||
expect(8);
|
||||
expect(9);
|
||||
ok( $("*").size() >= 30, "Select all" );
|
||||
t( "Element Selector", "div", ["main","foo"] );
|
||||
t( "Element Selector", "body", ["body"] );
|
||||
|
@ -11,6 +11,8 @@ test("element", function() {
|
|||
|
||||
ok( $("#length").length, '<input name="length"> cannot be found under IE, see #945' );
|
||||
ok( $("#lengthtest input").length, '<input name="length"> cannot be found under IE, see #945' );
|
||||
|
||||
t( "Element Selector with underscore", "foo_bar", ["foobar"] );
|
||||
});
|
||||
|
||||
test("broken", function() {
|
||||
|
@ -204,4 +206,4 @@ test("basic xpath", function() {
|
|||
$("#foo").each(function() {
|
||||
isSet( $("/p", this).get(), q("sndp", "en", "sap"), "Check XPath context" );
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue