* and finds the deepest ancestor element within its
* structure - it is that element that will en-wrap everything else.
*
+ * This does not work with elements that contain text. Any necessary text
+ * must be added after the wrapping is done.
+ *
* @example $("p").wrap("<div class='wrap'></div>");
* @before <p>Test Paragraph.</p>
* @result <div class='wrap'><p>Test Paragraph.</p></div>
*
* @test var defaultText = 'Try them out:'
* var result = $('#first').wrap('<div class="red"><span></span></div>').text();
- * ok( defaultText == result, 'Check for simple wrapping' );
- * ok( $('#first').parent().parent().is('.red'), 'Check if wrapper div has class "red"' );
- *
- * @test var defaultText = 'Try them out:'
- * var result = $('#first').wrap('<div class="red">xx<span></span>yy</div>').text()
- * ok( 'xx' + defaultText + 'yy' == result, 'Check for wrapping' );
- * ok( $('#first').parent().parent().is('.red'), 'Check if wrapper div has class "red"' );
+ * ok( defaultText == result, 'Check for wrapping of on-the-fly html' );
+ * ok( $('#first').parent().parent().is('.red'), 'Check if wrapper has class "red"' );
*
* @name wrap
* @type jQuery
* provided and finding the deepest ancestor element within its
* structure - it is that element that will en-wrap everything else.
*
- * @example $("p").wrap("<div class='wrap'></div>");
- * @before <p>Test Paragraph.</p>
- * @result <div class='wrap'><p>Test Paragraph.</p></div>
+ * This does not work with elements that contain text. Any necessary text
+ * must be added after the wrapping is done.
+ *
+ * @example $("p").wrap( document.getElementById('content') );
+ * @before <p>Test Paragraph.</p><div id="content"></div>
+ * @result <div id="content"><p>Test Paragraph.</p></div>
+ *
+ * @test var defaultText = 'Try them out:'
+ * var result = $('#first').wrap(document.getElementById('empty')).parent();
+ * ok( result.is('ol'), 'Check for element wrapping' );
+ * ok( result.text() == defaultText, 'Check for element wrapping' );
*
* @name wrap
* @type jQuery
"@": {
"=": "z==m[4]",
"!=": "z!=m[4]",
- "^=": "!z.indexOf(m[4])",
- "$=": "z.substr(z.length - m[4].length,m[4].length)==m[4]",
- "*=": "z.indexOf(m[4])>=0",
+ "^=": "z && !z.indexOf(m[4])",
+ "$=": "z && z.substr(z.length - m[4].length,m[4].length)==m[4]",
+ "*=": "z && z.indexOf(m[4])>=0",
"": "z"
},
"[": "jQuery.find(m[2],a).length"
* @test t( "Attribute Exists", "a[@title]", ["google"] );
* @test t( "Attribute Exists", "*[@title]", ["google"] );
* @test t( "Attribute Exists", "[@title]", ["google"] );
+ *
+ * @test t( "Non-existing part of attribute [@name*=bla]", "[@name*=bla]", [] );
+ * @test t( "Non-existing start of attribute [@name^=bla]", "[@name^=bla]", [] );
+ * @test t( "Non-existing end of attribute [@name$=bla]", "[@name$=bla]", [] );
+ *
* @test t( "Attribute Equals", "a[@rel='bookmark']", ["simon1"] );
* @test t( "Attribute Equals", 'a[@rel="bookmark"]', ["simon1"] );
* @test t( "Attribute Equals", "a[@rel=bookmark]", ["simon1"] );