2016-12-16 44 views
-3

我想要使用JavaScript來格式化td元素的內容(文本)。但是,該元素沒有ID屬性(使用getElementbyID)並且具有非唯一的Class屬性(以使用getElementbyClass)。Javascript格式化一個​​元素

我無法控制html部分,要更改類名稱或包含ID屬性。所有這一切都是在<td>內的文字。

任何想法如何我可以寫一個腳本,將格式化(說,讓文字加粗?)?

請注意,我不能使用JQuery。

<table width="100%" class="ms-formtable" style="margin-top: 8px;" border="0" cellspacing="0" cellpadding="0"> 
 
    <tbody> 
 
    <tr> 
 
     <td width="90%" class="ms-formlabel" valign="top"> 
 
     General 
 
     </td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+0

嘗試'table.ms-formtable> TBODY> TR > td.ms-formlabel'? – kukkuz

+0

對不起,代碼不清楚,在tbody> tr>下有多個td.ms-formlabel。 – tempidope

+0

那麼,您需要通過文本內容來識別相關元素?你看過:http://stackoverflow.com/questions/3813294/how-to-get-element-by-innertext? –

回答

-1

您可以選擇的第一要素,改變它的風格與.style

var elem = document.querySelectorAll('td.ms-formlabel')[0]; 
 
elem.style.fontWeight = "900";
<table width="100%" class="ms-formtable" style="margin-top: 8px;" border="0" cellspacing="0" cellpadding="0"> \t 
 
     <tbody><tr> 
 
     <td width="90%" class="ms-formlabel" valign="top"> 
 
     General 
 
     </td> 
 
     </tr> 
 
     </tbody></table>

+0

只有具有給定類的元素是具有該類名稱的第一個*和* only元素時才適用;因爲問題明確表明該元素具有不一定得到保證的非唯一類名。無可否認,這個問題會從一個不太簡化的[mcve]中獲益良多。 –