1

Since I've moved to jQuery development has sped up for a great deal, but there is one thing which has become a little more time-consuming: appending some string to an attribute/value.

For example, if you wanted to append a letter to the value of a textbox, you would normally do:

input.value += 'a';

but now using jQuery, it has become:

input.val(input.val() + 'a');

I know it wouldn't be too hard to create a function which can do this and then append that function to jQuery.fn, but I was rather wondering whether there is such a function perhaps already available. I haven't found any so far. Or is there perhaps a better technique of appending a string to a value/attribute than what I'm doing at the moment?

pimvdb
  • 151,816
  • 78
  • 307
  • 352

1 Answers1

2

If you know that your element has a value attribute, there is no reason not to use

input.value += 'a';

There is nothing to stop you using plain JavaScript in your jQuery scripts.

In fact,

input.val(input.val() + 'a');

has no benefits over using plain 'js', except if your input is a jQuery object and you want to chain methods.

I'd suggest overall

var $input = $('#someInput');
$input[0].value += 'a'; //get the DOM object from your jQuery object
dianovich
  • 2,288
  • 21
  • 34