From d52eb599d1f732876540f2a22fa406b7293502e5 Mon Sep 17 00:00:00 2001 From: VonC Date: Thu, 28 Nov 2013 22:10:23 +0100 Subject: [PATCH] Fix previous element selection. --- plugin/markdown/markdown.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/plugin/markdown/markdown.js b/plugin/markdown/markdown.js index 34458f22..2f6fc442 100755 --- a/plugin/markdown/markdown.js +++ b/plugin/markdown/markdown.js @@ -303,16 +303,24 @@ */ function addAttributes( section, element, previousElement, separatorElementAttributes, separatorSectionAttributes ) { - console.log("*** element='" + element.innerHTML + "', nodeType='" + element.nodeType + "'"); + console.log("*** element='" + element.tagName + "', nodeType='" + element.nodeType + "'"); console.log("previousElement="+previousElement) - console.log("section=****"+section.outerHTML+"****"); + //console.log("section=****"+section.outerHTML+"****"); if ( element != null && element.childNodes != undefined && element.childNodes.length > 0 ) { previousParentElement = element; for( var i = 0; i < element.childNodes.length; i++ ) { childElement = element.childNodes[i]; - console.log(" Child element='" + childElement.innerHTML + "', type " + childElement.nodeType); - if ( i > 0 && typeof element.childNodes[i-1].setAttribute == 'function' ) { - previousParentElement = element.childNodes[i-1]; + console.log(" Child element='" + childElement.tagName + "', type " + childElement.nodeType); + if ( i > 0 ) { + j = i - 1; + while ( j >= 0 ) { + aPreviousChildElement = element.childNodes[j]; + if ( typeof aPreviousChildElement.setAttribute == 'function' && aPreviousChildElement.tagName != "BR") { + previousParentElement = aPreviousChildElement; + break; + } + j = j - 1; + } } parentSection = section; if( childElement.nodeName == "section" ) {