]> dev.renevier.net Git - syj.git/commitdiff
utils: jquery text() equivalent
authorarno <arno@renevier.net>
Sat, 21 Aug 2010 11:22:23 +0000 (13:22 +0200)
committerarno <arno@renevier.net>
Sat, 21 Aug 2010 20:13:25 +0000 (22:13 +0200)
public/js/syj.js
public/js/utils.js

index 54677a27fb09992e40fdfb09f53e4d5078651622..916d2775020bfc96b50241ab9e5d93acf9d8c6e5 100644 (file)
@@ -1090,13 +1090,12 @@ var Nominatim = (function() {
                 });
 
                 anchor.observe('click', clickhandler(item.boundingbox));
+                Element.text(anchor, item.display_name);
 
-                var text = document.createTextNode(item.display_name);
                 var icon = new Element("img", {
                     className: "nominatim-suggestions-icon",
                     src: item.icon || 'icons/world.png'
                 });
-                anchor.appendChild(text); // insert does not work; see prototype #1125
                 li.insert(icon).insert(anchor);
                 $("nominatim-suggestions-list").insert(li);
                 if ($("nominatim-suggestions-list").childNodes.length >= 6) {
index 348e3a70425033b7859c767cddac9d2929f7e9e8..5dd8c6925793b53454ea21b8f092f92f73e3e16c 100644 (file)
@@ -122,6 +122,23 @@ Element.addMethods({
         Element.setStyle(element, {'backgroundColor': color});
         Element.setStyle.delay(timeout, element, {'backgroundColor': current});
         return element;
+    },
+    text: function(element, content) {
+        if (typeof content === "undefined") { // getter
+            if (element.nodeType === 8) {
+                return "";
+            } else if (element.nodeType === 3 || element.nodeType === 4)  {
+                return element.nodeValue;
+            } else {
+                return $A(element.childNodes).inject("", function(acc, el) {
+                    return acc + Element.text(el);
+                 });
+            }
+        } else { // setter
+            var node = document.createTextNode(content);
+            element.update().appendChild(node);
+            return element;
+        }
     }
 });