Home > Blockchain >  How can I change the text inside my dynamically created button's <span> with jQuery?
How can I change the text inside my dynamically created button's <span> with jQuery?

Time:04-24

I have reviewed enter image description here

The three "this.patExeId" values are

  • OA==
  • Mg==
  • Mw==

I want to update the label as exercise sets are completed. I am using this test code that is triggered when the button is clicked:

$('#' $(this).attr('id')  ' span').html('3');

This is triggering an error shown in the console log:

jquery.min.js:2 Uncaught Error: Syntax error, unrecognized expression: #OA== span

CodePudding user response:

Since in your case you are crafting a selector like #id span but the element you are using to grab the id is this so you can just make it simpler and directly select an element inside that one using find()

 $(this).find('span').html('3');

But to better address your first concern, you were using a selector with an id containing special characters. The = has a special meaning in css so it requires to be escaped if you need it to include it literally. To make a very simple example showing that, if you had an element with id #0== you should use the following selector:

$('#O\\=\\=')

And this would be an alternate solution to your problem just for the sake of showing my point:

$('#'   $(this).attr('id').replace(/=/g, '\\=')   ' span').html('3');
  • Related