2012-02-02 15 views
6

Giả sử tôi có một bảng cụ thể được chọn trong TinyMCE, như thế này:Vòng qua con của nút hiện tại TinyMCE

var ed = tinyMCE.activeEditor; 
    var selection = ed.selection.getContent(); 
    var element = ed.dom.getParent(ed.selection.getNode(), 'table'); 

Làm thế nào để lặp qua các tr yếu tố bên trong này?

tôi nghi ngờ một trong những phương pháp này có thể có liên quan, nhưng tôi cảm thấy rất mới đến các lớp học, tôi đang gặp rắc rối tìm hiểu làm thế nào để áp dụng chúng:

TinyMCE select():http://www.tinymce.com/wiki.php/API3:method.tinymce.dom.DOMUtils.select

TinyMCE getAll():http://www.tinymce.com/wiki.php/API3:method.tinymce.html.Node.getAll

Trả lời

7

Bạn vòng lặp thông qua bất kỳ nút trong TinyMCE như một nút html bình thường vì họ đang có trong thực tế các nút html thường xuyên có thể.

Vì vậy, điều này sẽ đủ:

var ed = tinyMCE.activeEditor; 
var element = ed.dom.getParent(ed.selection.getNode(), 'table'); 

var child = element.firstChild; 
while(child){ 
    if(child.nodeName.toLowerCase() == 'tr'){ 
     //do your stuff here 
    } 
    child = child.nextSibling; 
} 
1

Không var element có thuộc tính childNodes? Đó là một loạt các yếu tố con ngay lập tức. Mỗi người trong số họ sẽ tiếp tục có tài sản, nơi bạn sẽ quan tâm đến nodeName. Thực hiện chức năng đệ quy để tìm kiếm (mỗi nút tiếp tục có childNodes), cho đến khi bạn thấy rằng nodeName=="TR".

BTW, điều này sẽ dễ dàng hơn nhiều với jQuery, nếu bạn quan tâm.

http://www.w3schools.com/htmldom/dom_methods.asp

http://www.w3schools.com/htmldom/dom_nodes_info.asp

Các vấn đề liên quan