所以我編碼的HTML網頁,現在用的是「翻譯」屬性在我的代碼的不同部分,像這樣:如何訪問節點對象中的特定屬性值?
<div class="art-nav-outer">
<div class="art-nav-wrapper">
<div class="art-nav-inner">
<ul class="art-hmenu">
<li>
<a href="#">
<span class="l"></span>
<span class="r"></span>
<span class="t" translate="no">Introduction</span>
</a>
</li>
<li>
<a href="#" class="active">
<span class="l"></span>
<span class="r"></span>
<span class="t" translate="no">Content</span>
</a>
</li>
</ul>
</div>
</div>
</div>
我通過代碼使用collectTextNodes($('body'));
循環。
這是函數聲明:
function collectTextNodes(element){
for (var child= element.firstChild; child!==null; child= child.nextSibling) {
if(child.nodeType === 3 && ...)
//doaction
else if(child.nodeType === 1)
collectTextNodes(child);
}
}
我希望做的是添加一個條件的「如果」它說:
「如果屬性‘翻譯’的子節點是不是「沒有」」或‘如果孩子節點沒有屬性‘翻譯’’
然後做動作
我知道不會有任何節點的對象屬性或滿足這將返回這個,但我不知道要寫什麼線來檢索它,或者甚至可能。
對於我來說,這個想法是在通過節點搜索時知道文本何時需要翻譯。
任何形式的幫助或建議表示讚賞。
不幸的是,我不能使用類或id名稱,因爲我希望這可以與具有屬性「translate」的任何節點元素,類或id一起使用。因此,我不能調用$('。t')基本上,腳本應該適用於任何插入「translate」屬性的html頁面。 – David 2014-08-29 10:58:32
你能像這樣使用 var attr = $('。t')。attr('translate');如果(child.nodeType === 3 && typeof(attr)==='undefined') // doaction else if(child.nodeType === 1) collectTextNodes(child); – 2014-08-29 11:04:48
您仍在使用('.t') – David 2014-08-29 11:23:34