var list = querySelectorAll(selector);
var i;
for (i = 0; i < list.length; i++)
list[i].value = value;
Is just as readable as: $(selector).val(value);
Except that the jQuery example requires you to be familiar with jQuery. The first, however, just requires you to be familiar with a for loop, which is a common construct in many languages. Being faster is just a happy by-product.I, personally, am starting to use Dart instead, because it is a nice middleground between jQuery and raw DOM manipulation; it doesn't hide the details like jQuery does and it's still fast.
Ihe best argument I can see is with XMLHttpRequest, which is still a pain because it doesn't have a nice API.