使用jQuery,我试图找到解决问题的方法。
我有这个HTML ...
<p class="prodReview prodReviewsNN"></p>
......并且一个数字取代了&#34; NN&#34;动态。
在&#34; NN&#34;之后需要做些什么。被数字取代......
提前感谢您的帮助!
答案 0 :(得分:0)
您可以使用这个简单的插件:
(function ($) {
$.fn.replaceClass = function (pFromClass, pToClass) {
pToClass = editDecimal(pToClass) // DECIMAL MANIPULATION
return this.removeClass(pFromClass).addClass(pToClass);
};
}(jQuery));
function editDecimal(pToClass){
var num = pToClass.split("prodReviews")[1] // will get the NN part
num = num* 10
pToClass = "prodReviews"+num
console.log(pToClass)
return pToClass
}
用法:
$('.prodReview').replaceClass('prodReviewsNN','prodReviews2');
$('.prodReview').replaceClass('prodReviewsNN','prodReviews3.2');
在:
<p class="prodReview prodReviewsNN"></p>
后:
<p class="prodReview prodReviews20"></p>
<p class="prodReview prodReviews32"></p>
答案 1 :(得分:0)
你为什么需要这个?为什么不将数字存储在DOM元素中?
反正...
var num = 2;
document.querySelector('.prodReview').className = 'prodReview prodReviews'+num;
下次你需要重写课程时......
var newNum = 5;
document.querySelector('.prodReview .prodReviews'+oldNum).className = 'prodReview prodReviews'+newNum;
但更好的解决方案是将数字存储在DOM中
var n = 2;
document.querySelector('.prodReview').n = n;
然后使用:
var needle = 5;
var element = [].slice.call(document.querySelectorAll('.prodReview')).filter(function(e){return e.n == needle})[0]