diff options
author | John Resig <jeresig@gmail.com> | 2007-04-28 15:39:30 +0000 |
---|---|---|
committer | John Resig <jeresig@gmail.com> | 2007-04-28 15:39:30 +0000 |
commit | fce2bdf7ff1d5a293690c65de36a7824a50bc54f (patch) | |
tree | 5c8b10338360937a58b6c4d47aec3f1a17aeaf5c /src | |
parent | 610149fd19c087e51ccd5975ba2c2e5c3bfe49a8 (diff) | |
download | jquery-fce2bdf7ff1d5a293690c65de36a7824a50bc54f.tar.gz jquery-fce2bdf7ff1d5a293690c65de36a7824a50bc54f.zip |
Added support for finding elements that have underscores in their name (along with other allowed characters). Fix for ticket #1084.
Diffstat (limited to 'src')
-rw-r--r-- | src/selector/selector.js | 6 | ||||
-rw-r--r-- | src/selector/selectorTest.js | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/selector/selector.js b/src/selector/selector.js index d6d87c03c..be50d332f 100644 --- a/src/selector/selector.js +++ b/src/selector/selector.js @@ -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 diff --git a/src/selector/selectorTest.js b/src/selector/selectorTest.js index 23f44c30d..07e4d50f0 100644 --- a/src/selector/selectorTest.js +++ b/src/selector/selectorTest.js @@ -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" ); }); -});
\ No newline at end of file +}); |