开发者

jQuery addClass or wrap in unlikely part of element

I really hate the way my shopping cart is set up as I CANNOT edit much of the pages. So I resort to using jQuery which is both fun and frustrating because we have to use so much of it. That being said..I am trying to find a way through jQuery to add a class specifically for the price given two situations. Unfortunately the price is not set up to add a class to it specifically (why my shopping cart did it this way is beyond me!). Any help would be appreciated!

UPDATE: Perhaps I need to use wrap() method to wrap the price and give it a class?

<-- Situation 1 -->
<b>
  <font class="text colors_text">
  <b>Regular Price: </b>
  </font>
   $2,533.31
</开发者_Go百科b> 

<-- Situation 2 -->
<b>
  <span class="exclusive">Exclusive Price:</span>
  <font class="pricecolor colors_productprice">$2,343.30</font>
</b>

I'm not going to dwell into the reasons why I need to add a class to these prices because there is a lot riding behind the class name which enables much of the page to render correctly. The class names for each situation should be the SAME. Situation 2 I may be able to handle with ease $('.exclusive').next('font').addClass('priceis') but Situation 1 is pretty tough.


For situation one you could do:

var font = $(".text");//get the font tag
$(font.get(0).nextSibling).wrap('<span class="priceis" />'); 
//wrap it's next sibling inside a span

this add a span around the price with the desired class


// get first "b" element
var b = $("b:eq(0)");

// get font element
var font = b.find("font:eq(0)");

// clone font element
var fontClone = font.clone();

// remove font element
font.remove();

// get remaining text (the price)
var price = b.html();

// replace "b" tag's html with span with class "priceis" containing price
b.html("<span class=\"priceis\">" + price + "</span>");

// put the font clone back in
b.preprend(fontClone);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜