2016-01-22 52 views
-1

我試圖讓一個函數在Q &手風琴中運行幾個div,但是我找不出合適的語法來實現它。在第6行中,類名'questionV1'很好地完成了這項工作,但我希望該函數也可以運行classnames'questionV2'和'questionV3'。我試圖添加questionV2 + V3,像這樣(divs [no] .classname =='questionV1,questionV2,questionV3'),但它不起作用。 javascript看起來像這樣:向javascript函數中添加更多類

function initShowHideDivs() 
{ 
var divs = document.getElementsByTagName('DIV'); 
var divCounter = 1; 
for(var no=0;no<divs.length;no++){ 
    if(divs[no].className=='questionV1'){ 
    divs[no].onclick = showHideContent; 
    divs[no].id = 'dhtmlgoodies_q'+divCounter; 
    var answer = divs[no].nextSibling; 
    while(answer && answer.tagName!='DIV'){ 
    answer = answer.nextSibling; 
    } 
    answer.id = 'dhtmlgoodies_a'+divCounter; 
    contentDiv = answer.getElementsByTagName('DIV')[0]; 
    contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px'; 
    contentDiv.className='answer_content'; 
    contentDiv.id = 'dhtmlgoodies_ac' + divCounter; 
    answer.style.display='none'; 
    answer.style.height='1px'; 
    divCounter++; 
    } 
} 
} 
window.onload = initShowHideDivs; 
+0

可能重複://計算器。 COM /問題/ 195951 /轉換的元素級與 - 的JavaScript) –

回答

0

以下是針對您的問題的兩種解決方案。一個用正則表達式,另一個用字符串比較。

正則表達式解決方案:

for(var index in divs){ 
    var div = divs[index]; 
    if(/questionV[123]/.test(div.className)) { 

     // code here 
    } 
    } 

字符串比較:

for(var index in divs){ 
    var div = divs[index]; 
    if(div.className === 'questionV1' 
     || div.className === 'questionV2' 
     || div.className === 'questionV3') { 

     // code here 
    } 
    } 

還鏈接到jsfiddle的[換元件與JavaScript類](HTTP