views:

50

answers:

2
$('<span class="pictos">j</span>').prependTo('li');
+2  A: 
var li = document.getElementsByTagName('li');
for (var i = 0; i < li.length; i++) {
  var e = document.createElement('span');
  e.className = 'pictos';
  e.appendChild(document.createTextNode('j'));
  li[i].insertBefore(e, li[i].firstChild);
}

Working example on JSBin

casablanca
Perfect, thank you!
Hope
+1  A: 

What jQuery actually does is take the element and clone it for each parent it needs appending to which is a bit faster, like this:

var span = document.createElement('span');
span.className = 'pictos';
span.appendChild(document.createTextNode('j'));

var lis = document.getElementsByTagName('li');
for (var i = 0; i < lis.length; i++) {
    lis[i].insertBefore(span.cloneNode(true), lis[i].firstChild);
}​

You can test it out here.

Nick Craver
+1, didn't know about `cloneNode`.
casablanca