2011-10-12 100 views
2

我在最後,sooo許多帖子和小提琴示例如何更改頁面上的所有元素的標籤名稱與Jquery但沒有與Mootools。有什麼辦法可以做到嗎?我需要將所有tr轉換爲div,不能更改實際的頁面html,必須使用Moo來完成。請幫忙。更改元素標記名稱Mootools

我有15個tr的div,瘋了吧!

<div id="mydiv"> 
<tr></tr> 
<tr></tr> 
... 
</div> 

我需要將它們轉換爲div,但保留tr的所有屬性和html。請幫忙!謝謝!

+0

它有TR內TDS和他們怎麼改變? –

+0

不,他們只是tr的,我所做的就是將他們全部選中,並放在與el.adopt的div,所以我可以切換。他們都是tr的輸入和選擇字段 – Benn

+0

它的工作perfectt,但IE7(一如既往)不允許在沒有表和tbody的該格內tr,我也試過,但一切都變成了一團糟,所以最好的解決辦法是改變它們如果IE7的div,現在即時通訊測試jquery,這裏,這裏,http://jsfiddle.net/WVb2Q/1/我不喜歡這個,但總比沒有好 – Benn

回答

4

只要標記不像上面那樣無效,則更換mootools中的元素很容易。

http://jsfiddle.net/dimitar/4WatG/1/

document.getElements("#mydiv span").each(function(el) { 
    new Element("div", { 
     html: el.get("html") 
    }).replaces(el); 
}); 

這將替換用於上述標記的div所有的跨度(使用跨越代替TRS)。

如上所述,http://jsfiddle.net/dimitar/4WatG/ - > firefox strip TR無效標記不是一張桌子的孩子,它很難定位。

+0

謝謝!進入片段:) – Benn

1

我只是要離開這裏漂浮在這裏。

Element.implement({'swapTagName': function(newTagName) { 
    return new Element(newTagName, {html: this.get('html')}).replaces(this); 
}}); 

用法:

//cleaning HTML3.2 like it's 2012 
target.getElements('font[size=5pt],b').swapTagName('h2').addClass('header_paragraphs'); 
target.getElements('font').swapTagName('p');