DOM
Wee makes modifying and extracting data from your markup easy with a robust set of DOM functions. We’ve only included what you need without the cruft. You can also chain your methods.
$addClass
Add classes to each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string | - | Class name(s) to add or callback | ✔ |
Single
Wee.$addClass('ref:element', 'modifier');
Multiple
Separate multiple class names with spaces.
Wee.$addClass('ref:element', 'modifier modifier2');
Function
The current index and class value are injected into the callback. The scope of this
is the element.
Wee.$addClass('ref:element', function(i, className) {
// Add an indexed classreturn className + i;
});
Callbacks can also be in the format of 'controllerName:method'. The index argument is always 0-based.
$after
Insert selection or markup after each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
source | function, selection, string | - | Source selection, callback, or HTML string | ✔ |
remove | boolean | false | Remove target after insertion | - |
Selection
Wee.$after('ref:element', Wee.$('.js-element'));
Markup
Wee.$after('ref:element', '<span>Injected notice</span>');
Function
The current index and HTML are injected into the callback. The scope of this
is the element.
<div data-name="John Smith">
<h1 data-ref="bioName">Name</h1>
</div>
Wee.$after('ref:bioName', function(i, html) {
// Add the parent data-name as a paragraph after the matched elementreturn'<p>' + Wee.$data(Wee.$parent(this), 'name') + '</p>';
});
<div data-name="John Smith">
<h1 data-ref="bioName">Name</h1>
<p>John Smith</p>
</div>
$append
Append selection or markup after each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
source | function, selection, string | - | Source selection, callback, or HTML string | ✔ |
Selection
Wee.$append('ref:element', Wee.$('.js-element'));
Function
The current index and HTML are injected into the callback. The scope of this
is the element.
<h1 data-ref="listHeading">Names</h1>
<ul>
<li>John Doe</li>
<li>Jane Doe</li>
</ul>
Wee.$append('ref:listHeading', function(i, html) {
// Modify the heading to include the number of listed namesreturn' (' + Wee.$children(Wee.$next()).length + ')';
});
<h1 data-ref="listHeading">Names (2)</h1>
<ul>
<li>John Doe</li>
<li>Jane Doe</li>
</ul>
$attr
Get attribute of first matching selection or set attribute of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
a | string, object | - | Attribute to get or set or an object | ✔ |
b | function, string | - | Value to assign to attribute | - |
Get
Wee.$attr('ref:element', 'href');
'https://www.weepower.com'
Single
Wee.$attr('ref:element', 'href', 'https://www.weepower.com/start');
Multiple
Wee.$attr('ref:element', {
href: 'https://developer.mozilla.org',
target: '_blank'
});
$before
Insert selection or markup before each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
source | function, selection, string | - | Source selection, callback or HTML string | ✔ |
remove | boolean | false | Remove target after insertion | - |
Selection
Wee.$before('ref:element', Wee.$('.js-element'));
Markup
Wee.$before('ref:element', '<span>Injected notice</span>');
Function
Wee.$before('ref:element', function(i, html) {
// Callback logic
});
$children
Get unique direct children of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
parent | selection | - | Parent selection | ✔ |
filter | selection | - | Filter selection | - |
All Children
Without a filter all direct children will be returned.
Wee.$children('ref:element');
Filtered
With a filter, only matching children will be returned.
Wee.$children('ref:element', 'li');
The response excludes text and comment nodes.
$clone
Clone each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
Wee.$clone('ref:element');
$closest
Get unique closest ancestors of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | selection | - | Filter selection | ✔ |
context | selection | - | Context selection | - |
<div class="nav">
<a class="link--account">Your Account</a>
</div>
<div class="nav">
<a class="link--about">About Us</a>
</div>
Wee.$closest('.link--about', '.nav');
<div class="nav">
<a class="link--about">About Us</a>
</div>
This method traverses up the DOM for the closest match. It doesn't match descendants.
$contain
Determine if any matching parent selection contains descendant selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
parent | selection | - | Parent selection | ✔ |
descendant | selection | - | Descendant selection | ✔ |
Wee.$contains('ref:element', '.descendant');
true
$contents
Get unique content of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
parent | selection | - | Parent selection | ✔ |
Wee.$contents('ref:element');
The response includes text and comment nodes.
$css
Get CSS value of first matching selection or set value of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
a | string, object | - | Property to get or set or an object | ✔ |
b | string | - | Value to assign to property | - |
Get Value
Wee.$css('ref:element', 'marginTop');
"0px"
Set Single Value
Wee.$css('ref:element', 'marginTop', '5px');
Set Multiple Values
Wee.$css('ref:element', {
marginTop: '5px',
color: 'red'
});
$data
Get data of first matching selection or set data of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
a | string, object | - | Data attribute to get or set or an object | ✔ |
b | string | - | Value to assign to data attribute | - |
Get All
<div data-ref="element" data-id="150"></div>
Wee.$data('ref:element');
{
ref: "element",
id: 150
}
Get Single
<div data-ref="element" data-id="150"></div>
Wee.$data('ref:element', 'id');
150
Set Single
Wee.$data('ref:element', 'id', '250');;
Set Multiple
Wee.$data('ref:element', {
id: '350',
active: 'true'
});
$empty
Remove child nodes from each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
<div data-ref="bio">
<h1>John Smith</h1>
<p>Lorem ipsum dolor.</p>
</div>
Wee.$empty('ref:bio');
<div data-ref="bio"></div>
$eq
Get indexed node of matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
index | number | - | Element index | ✔ |
context | selection | - | Context selection | - |
<ul class="js-element">
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
Wee.$eq('.js-element li', 1);
<li>List item 2</li>
Negative Index
Wee.$eq('.js-element li', -1);
<li>List item 3</li>
$filter
Return a filtered subset of elements from a matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | function, selection | - | Filter selection or callback | ✔ |
options | object | - | Callback options | - |
Selection
Wee.$filter('ref:element', '.filter');
Function
The current index and element are injected into the callback. The scope of this
is the element.
<ul class="people">
<li>John Doe</li>
<li>John Smith</li>
<li>Jane Doe</li>
<li>Jane Smith</li>
</ul>
Wee.$filter('.people li', function(i, el) {
// Return elements containing 'Doe'return Wee.$text(el).indexOf('Doe') !== -1;
});
[<li>John Doe</li>, <li>Jane Doe</li>]
$find
Get unique filtered descendants from each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
parent | selection | - | Parent selection | ✔ |
filter | selection | - | Filter selection | ✔ |
Wee.$find('table', 'tr');
$first
Get the first element of a matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
context | selection | - | Selection context | - |
Works the same as Wee.$() but only returns the first result from the result set.
var $first = Wee.$first('ref:element');
$hasClass
Determine if the matching selection has a class
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
className | string | - | Specific class name | ✔ |
Single
<div class="hello" data-ref="element"></div>
$('ref:element').hasClass('hello');
$('ref:element').hasClass('donuts');
true
false
$height
Get or set the height of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string, number, boolean | - | Height to set, callback, or true to get outer height | ✔ |
Get
Wee.$height('ref:element');
100
Outer Height
Wee.$height('ref:element', true);
120
The value returned is a unitless pixel value.
Set
Wee.$height('ref:element', '10rem');
Function
The current index and height are injected into the callback. The scope of this
is the element.
<div data-ref="example" style="height: 100px;"></div>
Wee.$height('ref:example', function(i, height) {
// Increase the height of the element by 50pxreturn (height += 50) + 'px';
});
If no unit is provided pixels will be set.
$hide
Hide each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
Hide works by adding the js-hide
class which applies display: none !important;
Wee.$hide('ref:element');
$html
Get inner HTML of first selection or set each matching selection's HTML
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string | - | HTML to set or callback | ✔ |
<div data-ref="element">
<h1>Heading</h1>
</div>
Get
Wee.$html('ref:element');
"<h1>Heading</h1>"
Set
Wee.$html('ref:element', '<h2>New Heading</h2>');
Function
The current index and HTML are injected into the callback. The scope of this
is the element.
Wee.$html('.js-element', function(el, i, html) {
// Return uppercase HTMLreturn html.toUpperCase();
});
$index
Get the zero-based index of a matching selection relative to it's siblings
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
<ul>
<li></li>
<li></li>
<li class="js-last"></li>
</ul>
Wee.$index('.js-last');
2
$insertAfter
Insert each matching source selection element after each matching target selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
source | selection | - | Source selection | ✔ |
target | selection | - | Target selection | ✔ |
Wee.$insertAfter('ref:element', '.js-element');
$insertBefore
Insert each matching source selection element before each matching target selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
source | selection | - | Source selection | ✔ |
target | selection | - | Target selection | ✔ |
Wee.$insertBefore('ref:element', '.js-element');
$is
Determine if at least one matching selection matches a specified criteria
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | function, selection | - | Filter selection or callback | ✔ |
options | object | - | Callback options | - |
Selection
<div class="js-element"></div>
Wee.$is('.js-element', 'div');
true
Function
<ul class="names">
<li>John Doe</li>
<li data-hidden="true">Jane Doe</li>
<li>John Smith</li>
<li>Jane Smith</li>
</ul>
Wee.$is('.names li', function(i, el) {
// Check if data-hidden is set to truereturn Wee.$data(el, 'hidden') === 'true';
});
true
$last
Get the last element of a matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
context | selection | - | Context selection | - |
Works the same as Wee.$() but only returns the last result from the result set.
<ul class="names">
<li>John Doe</li>
<li>John Smith</li>
<li>Jane Doe</li>
<li>Jane Smith</li>
</ul>
Wee.$last('.names li');
<li>Jane Smith</li>
$next
Get the unique next sibling of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | selection | - | Filter selection | - |
options | object | - | Callback option | - |
Simple
Wee.$next();
Filtered
<ul>
<li>John Doe</li>
<li>John Smith</li>
<li data-ref="name">Jane Doe</li>
<li>Jane Smith</li>
</ul>
Wee.$next('ref:name');
<li>Jane Smith</li>
$not
Returns elements not matching the filtered selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | function, selection | - | Filter selection or callback | ✔ |
options | object | - | Callback options | - |
Selection
Wee.$not('ref:element', 'div');
Function
The current index and element are injected into the callback. The scope of this
is the element.
<ul class="names">
<li>John Doe</li>
<li data-hidden="true">Jane Doe</li>
<li>John Smith</li>
<li>Jane Smith</li>
</ul>
Wee.$not('.names li', function(i, el) {
// Check if data-hidden is set to truereturn Wee.$data(el, 'hidden') === true;
});
[<li>John Doe</li>, <li>John Smith</li>, <li>Jane Smith</li>]
$offset
Get the offset position of a matching selection relative to the document
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | object | - | Offset values | - |
Set
Wee.$offset('ref:element', {
top: 100,
left: 20
});
Get
Wee.$offset('ref:element');
{
top: 520,
left: 30
}
The object values are returned as unitless pixel values.
$parent
Get unique parent from each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
child | selection | - | Child selection | ✔ |
filter | selection | - | Filter selection | - |
Selection Parent
Wee.$parent('ref:element');
Filtered
Return selection parent only if it matches the filter.
Wee.$parent('ref:element', 'main');
$parents
Get unique ancestors of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
child | selection | - | Child selection | ✔ |
filter | selection | - | Filter selection | - |
Wee.$parents('ref:element');
$position
Get the position of the first matching selection relative to its offset parent
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
Wee.$position('ref:element');
{
top: 250,
left: 30
}
The object values are returned as unitless pixel values.
$prepend
Prepend selection or markup before each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
source | function, selection, string | - | Source selection, callback, or HTML string | ✔ |
options | object | - | Callback options | - |
Selection
Wee.$prepend('ref:element', Wee.$('.js-element'));
Function
The current index and HTML are injected into the callback. The scope of this
is the element.
<h1 data-ref="listHeading">Names</h1>
<ul data-ref="list">
<li>John Doe</li>
<li>Jane Doe</li>
</ul>
Wee.$prepend('ref:listHeading', function() {
return Wee.$children('ref:list').length + ' ';
});
(<h1 data-ref="listHeading">2 Names</h1><ul data-ref="list"><li>John Doe</li><li>Jane Doe</li></ul>)
$prev
Get the unique previous sibling of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | selection | - | Filter selection | - |
options | object | - | Callback options | - |
Simple
Wee.$prev();
Filtered
<ul>
<li>John Doe</li>
<li>John Smith</li>
<li data-ref="name">Jane Doe</li>
<li>Jane Smith</li>
</ul>
Wee.$prev('ref:name');
<li>John Smith</li>
$prop
Get property of first matching selection or set property of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
a | string, object | - | Property to get or set or an object | ✔ |
b | function, string | - | Value to assign to property | - |
Get
Wee.$prop('ref:element', 'checked');
true
Single
Wee.$prop('ref:element', 'checked', true);
Multiple
Wee.$prop('ref:element', {
checked: true,
required: false
});
$remove
Remove each matching selection from the document
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
context | selection | - | Context selection | - |
Wee.$remove('ref:element');
$removeAttr
Remove specified attribute of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
name | string | - | Attribute name | ✔ |
Wee.$removeAttr('ref:element', 'title');
$removeClass
Remove classes from each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string | - | Class name(s) to remove or callback | ✔ |
Single
Wee.$removeClass('ref:element', 'modifier');
Multiple
Separate multiple class names with spaces.
Wee.$removeClass('ref:element', 'modifier modifier2');
Function
The current index and class value are injected into the callback. The scope of this
is the element.
Wee.$removeClass('ref:element', function(i, className) {
// Remove an indexed classreturn className + i;
});
$replaceWith
Replace each matching selection with selection or markup
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
source | function, selection, string | - | Source selection, callback, or HTML string | ✔ |
Selection
Wee.$replaceWith('ref:element', Wee.$('.js-element'));
Markup
Wee.$replaceWith('ref:element', '<span>Replacement element</span>');
Function
The current index and HTML are injected into the callback. The scope of this
is the element.
<ul class="names">
<li>John Doe</li>
<li>Jane Doe</li>
</ul>
Wee.$replaceWith('.names li', function(i, html) {
return"<li>The " + html + "</li>";
});
<ul class="names">
<li>The Jane Doe</li>
<li>The John Doe</li>
</ul>
$scrollLeft
Get or set the X scroll position of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | window | Target Selection | - |
value | integer | - | Left position | - |
Get Value
Wee.$scrollLeft();
0
The value returned is a unitless pixel value.
Set Value
Wee.$scrollLeft(15);
Scroll position should be provided as unitless pixel value.
$scrollTop
Get or set the Y scroll position of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | window | Target selection | - |
value | integer | - | Top position | - |
Wee.$scrollTop();
1560
The value returned is a unitless pixel value.
Set Value
Wee.$scrollTop('body', 15);
Scroll position should be provided as unitless pixel value.
$serializeForm
Serialize input values from first matching form selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
select | selection | - | Target selection | ✔ |
json | boolean | false | Convert to JSON | - |
Standard
Wee.$serializeForm('ref:element');
"inputName=value&inputName2=value2"
JSON
Wee.$serializeForm('ref:element', true);
{
"inputName": "value",
"inputName2": "value2"
}
$show
Show each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
Show works by removing the js-hide
class either set manually or through Wee.$hide().
Wee.$show('ref:element');
$siblings
Get unique siblings of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
filter | selection | - | Filter selection | ✔ |
<p>Sibling paragraph</p>
<span>Sibling span</span>
<div data-ref="sibling">Target div.</div>
All Siblings
Without a filter all siblings will be returned.
Wee.$siblings('ref:sibling');
[<p>Sibling paragraph</p>, <span>Sibling span</span>]
Filtered
Wee.$siblings('ref:sibling', 'p');
[<p>Sibling paragraph</p>]
$slice
Get subset of selection matches from specified range
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
start | integer | - | Starting index | ✔ |
end | integer | - | Ending index | ✔ |
Wee.$slice('li', 0, 3);
$text
Get inner text of first selection or set each matching selection's text
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | |
value | function, string | - | Text to set or callback | ✔ |
<div class="js-element">Inner text</div>
Get
Wee.$text('.js-element');
"Inner text"
Set
Wee.$text('.js-element', 'New text');
Function
The current index and text are injected into the callback. The scope of this
is the element.
Wee.$text('.js-element', function(el, i, text) {
// Return uppercase textreturn text.toUpperCase();
});
$toggle
Toggle the display of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
Rotates calling the hide and show methods.
Wee.$toggle('ref:element');
$toggleClass
Toggle adding and removing class(es) from the specified element
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
className | function, string | - | Class name(s) or callback | ✔ |
state | boolean | - | Force add or remove | - |
Single
Wee.$toggleClass('ref:element', 'modifier');
Multiple
Separate multiple class names with spaces.
Wee.$toggleClass('ref:element', 'modifier modifier2');
Function
The current index, class value and state are injected into the callback. The scope of this
is the element.
Wee.$toggleClass('.element', function(i, className, state) {
// Return the class intended for togglereturn className + (state === true ? '-on' : '-off');
});
$val
Get value of first matching selection or set values of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string | - | Class name(s) to add or callback | ✔ |
Get
Wee.$val('ref:element');
Set
Wee.$val('ref:element', '123');
Function
<input type="text" value="This is an ordinary sentence in an input field." data-ref="input">
Wee.$val('ref:input', function(i, value) {
// Check the length of the current value but don't change the valueif (value.length > 20) {
alert('Getting long winded, aren\'t we?');
}
return value;
});
$width
Get or set the width of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
value | function, string | - | Width to set or callback | ✔ |
Get
Wee.$width('ref:element');
100
The value returned is a unitless pixel value.
Set
Wee.$width('ref:element', '10rem');
Function
The current index and width are injected into the callback. The scope of this
is the element.
<div data-ref="example"style="width: 100px;"></div>
Wee.$width('ref:example', function(i, width) {
// Increase the width of the element by 50pxreturn (width += 50) + 'px';
});
If no unit is provided pixels will be set.
$wrap
Wrap markup around each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
html | function, string | - | Wrapper HTML or callback | ✔ |
Markup
Wee.$wrap('ref:element', '<div class="wrapper"></div>');
Function
The current index is injected into the callback. The scope of this
is the element.
<div class="library">
<ul class="books programming">
<li>JavaScript: The Definitive Guide</li>
<li>Mastering Regular Expressions</li>
</ul>
<ul class="books technique">
<li>Code Complete</li>
<li>The Pragmatic Programmer</li>
</ul>
</div>
Wee.$wrap('.books', function(i) {
if (Wee.$hasClass($(this), 'programming')) {
return'<div class="reference"></div>'
} else {
return'<div class="readers"></div>'
}
});
<div class="library">
<div class="reference">
<ul class="books programming">
<li>JavaScript: The Definitive Guide</li>
<li>Mastering Regular Expressions</li>
</ul>
</div>
<div class="readers">
<ul class="books technique">
<li>Code Complete</li>
<li>The Pragmatic Programmer</li>
</ul>
</div>
</div>
$wrapInner
Wrap markup around the content of each matching selection
Variable | Type | Default | Description | Required |
---|---|---|---|---|
target | selection | - | Target selection | ✔ |
html | function, string | - | Wrapper HTML or callback | ✔ |
Markup
Wee.$wrapInner('ref:element', '<div class="wrapper"></div>');
Function
The current index is injected into the callback. The scope of this
is the element.
<ul class="names">
<li class="boss">Jane Doe</li>
<li>John Doe</li><
/ul>
Wee.$wrapInner('.names li', function(i) {
// Wrap bosses in bold tagif (Wee.$hasClass($(this), 'boss')) {
return'<b></b>';
}
});
<ul class="names">
<li class="boss"><b>Jane Doe</b></li>
<li>John Doe</li>
</ul>