0

How do I dynamically get a unique number from a class or id with YUI 3.x?

Example:

.reward1
.reward2
.reward3

AUI().use('node', function (A) {
    var rewardid = node.get('id');
    A.all('.reward' + rewardid).addClass('testaddclass');
});
stiemannkj1
  • 4,418
  • 3
  • 25
  • 45
Crystal
  • 9
  • 1
  • Which number must be unique ? Is this "number" included in your example ? – Pawel Kruszewski Dec 12 '14 at 10:22
  • I am looking to get the number included in each class name. .reward1, .reward2, .reward3. .reward'uniquenumberhere' – Crystal Dec 12 '14 at 14:57
  • It seems unclear what you are asking. Are you asking how to do `A.all('.reward'+rewardid).addClass('testaddclass');`? Or are you asking something else? Could you post better initial code and then post the result that you would like to get? – stiemannkj1 Dec 16 '14 at 20:54

1 Answers1

0

A.all() or Y.all() takes a CSS selector as its argument. CSS selectors can match only the beginning of the CSS class like so:

div[class^="reward"]

So the solution would be to do the following:

A.all('div[class^="reward"]').addClass('testaddclass');

Here is a working example of the solution:

var AUI = YUI;
///////////////////////////////////////////////////////////



AUI().use('node', function (A) {
    A.all('div[class^="reward"]').addClass('testaddclass');
});
.testaddclass {
    color: red;
}
<script src="https://cdn.rawgit.com/stiemannkj1/701826667a70997013605edcd37e92a6/raw/469fe1ae297e72a5a80eb9015003b7b04eac735e/alloy-ui-3.0.1_aui_aui-min.js"></script>
<link href="https://cdn.rawgit.com/stiemannkj1/90be22de7f48c729b443af14796d91d3/raw/a9f35ceedfac7fc0559b121bed105eaf80f10bf2/aui-css_css_bootstrap.min.css" rel="stylesheet"></link>
<div class="reward1">asdf</div>
<div class="reward2">asdf</div>
<div class="reward3">asdf</div>
stiemannkj1
  • 4,418
  • 3
  • 25
  • 45