我幫助如果單擊Yes或No,你會看到它打破,使一個未經檢查的行強調人解決他們的普通的JavaScript亮點,當覈對問題與.checked
。
我知道我可以在jQuery的改寫,但我真的想知道是什麼使得它無法
感謝
我幫助如果單擊Yes或No,你會看到它打破,使一個未經檢查的行強調人解決他們的普通的JavaScript亮點,當覈對問題與.checked
。
我知道我可以在jQuery的改寫,但我真的想知道是什麼使得它無法
感謝
這是因爲你要添加每次類名。因此,如果您在5次之間切換,item3將具有類名radio-item myclass myclass myclass myclass myclass
。因此,在您replace
你需要確保它是全球(替換搜索字符串的每一次出現)
編輯:
該代碼添加類名而不檢查它是否在那兒擺在首位。請記住,您正在循環使用所有複選框,對其中的任何更改都進行了更改。
if (inputArray[i].checked) {
inputArray[i].parentNode.className += " myclass";
}
這裏的一些庫函數,我前段時間寫的:
function trim(s) {
return s.replace(/(^\s+)|(\s+$)/g,'').replace(/\s+/g,' ');
}
function hasClassName(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
var re = new RegExp('(^|\\s+)' + cName + '(\\s+|$)');
return el && re.test(el.className);
}
function addClassName(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
if (!hasClassName(el, cName)) {
el.className = trim(el.className + ' ' + cName);
}
}
function removeClassName(el, cName) {
if (typeof el == 'string') el = document.getElementById(el);
if (hasClassName(el, cName)) {
var re = new RegExp('(^|\\s+)' + cName + '(\\s+|$)','g');
el.className = trim(el.className.replace(re, ''));
}
}
權。我看到了。謝謝 – mplungjan
@mplungjan我編輯了我的答案,告訴你這個代碼搞亂了。 – peirix
是的,我也找到了。謝謝 – mplungjan