I'm not really sure why you're not just doing this in pure css.

.button {
        padding-right: 20px;
        background-position: center right;
        background-repeat: no-repeat;
}
.iconstar       {       background-image: url(star.png);}
.iconplus       {       background-image: url(plus.png);}

Am I missing something here?

Jonathan

David wrote:
The problem I see is what happens when there is more than one class?
Your icon call may not be the first class. in which case you would not
have selected it. But it was still supposed to get an icon. Would it
be possible to give the divs that are supposed to receive the icons a
generic class then use an attribute to define what icons it is
supposed to have. You could even reduce the amount of code that you
have to output.

<div class="icon button" img="Star"></div>

 $(".button").each(function(){
     if ($(this).hasAttribute("img") && $(this).attr("img") != "")
{
      $(this).append("<IMG SRC='" + $(this).attr("img") + ".gif'>");
}
)

I know that it is probably not the best code as you are using
attibutes that do not fall into the dom standards but it looks like it
would get the job done.

On Apr 16, 8:51 am, jonhobbs <jon.hobbs.sm...@gmail.com> wrote:
Here is some psuedo-code for what I'm trying to achieve...

$(".button").each(function(){

    // Get an array of classes that are attached to $(this)

    // Loop through the array classes
    for (items in array){

        // check to see if the class starts with "icon"
        if(className.startswith('icon')){

            // remove the first 4 characters
            var iconName = className.substring(4, className.length);

            // Use the remainder to append the image
            $(this).append("<IMG SRC='" + iconName + ".gif'>");

        }

    }

});

That way, I could have hundreds of possible icons and I wouldn't have
to have hundreds of IF statements and hundreds of calls to .hasClass()

On Apr 16, 2:16 pm, MorningZ <morni...@gmail.com> wrote:



Well, other than asking whether or not an object "has a class or
doesn't", there isn't much you can do that check each class name
so like (and this assumes your original HTML, not the separated class
name) :
var icons = ["Star", "Plus", "Left", "Right", "Up", "Down"];
$("div.button").each(function() {
      var $dv = $(this);
      $.each(icons, function() {
           if ($dv.hasClass("icon" + this)) {
                 $dv.append('<img src="Images/' + this + '.gif"
alt="" />');
                 return false;
           }
      });
});
On Apr 16, 9:08 am, jonhobbs <jon.hobbs.sm...@gmail.com> wrote:
- Show quoted text -



--
Jonathan Vanherpe - Tallieu & Tallieu NV - jonat...@tnt.be

Reply via email to