2016-07-28 19 views
1

我試圖做的,當它在加載JS在我的表單中的所有標籤更換一個,但我有沒有運氣。使用每個標籤上替換形式

$(document).ready(function($){ 
    $('.label').each(function(e){ 
     document.getElementById($(this)).textContent = document.getElementById($(this)).innerHTML.replace("and", "&"); 
    }); 
}); 

我不知道什麼是更好的:.innerHTML.textContent。他們似乎都達到了我的目標。 在此先感謝。

經過測試: 我真希望我能得到下面的代碼工作。

$('label').text(function(i, text) { 
    return text.replace("and", "&"); 
}) 

感謝大家的建議,我已經得到了代碼來處理一個簡單的循環。

var myElements = document.getElementsByTagName("LABEL"); 
for(var k=0; k<myElements.length; k++){ 
    myElements[k].innerHTML = myElements[k].innerHTML.replace("and", "&"); 
} 
+0

由於您使用jQuery你可以做this:'$('。label')。text(function(i,text){return text.replace(「and」,「&");})'! –

+0

您能否詳細介紹一下?我喜歡它看起來多麼乾淨,但我會將其插入我的'。每個(函數(E)){'簡單地把它扔在'$(文件)。就緒(函數($){'不工作。 – Dstjohniii

+0

請帶。一看這https://jsfiddle.net/iRbouh/59z31qm3/這是一個工作的例子,我沒有張貼,作爲一個答案,因爲根本不回答你的問題:**和IDK的什麼更好的.innerHTML或.textContent ** –

回答

-1

首先,我個人使用innerHTML。你並不需要都使用

document.getElementById(); 

$(this) 

試試這個您的循環中:

var toReplace=$(this).innerHTML; 
toReplace.replace("and", "&"); 

但是請注意,

document.getElementById("x"); 

只會搶如果你正在尋找的第一個ID爲「x」的元素搶多種元素,給他們所有相同的類名,然後將它們抓到一個數組與

myElements=document.getElementsByClassName("classname"); 

,然後遍歷它們來替代這樣的:

for (i=0; i<myElements.length; i++){ 
    myElements[i].innerHTML.replace('and', '&'); 
} 
+0

'變種myElements = document.getElementsByTagName( 「LABEL」);'' 爲(VAR K = 0; k Dstjohniii

+0

我提高了這一點,因爲他給了我這個想法來運行它通過一個循環並訪問元素,真正的贏家是getElementsByTagName(「LABEL」) – Dstjohniii