Если бы Вы использовали
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
, то Вы подразумевали бы, что объединение в цепочку было возможно, когда это не.
Это было бы лучше:
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
, С другой стороны от FAQ:
if ( $('#myDiv').length ) { /* Do something */ }
Вы могли также использовать следующее. Если бы нет никаких значений в объектном массиве jQuery, затем получая первый объект в массиве, возвратился бы неопределенный.
if ( $('#myDiv')[0] ) { /* Do something */ }
«Простой» формат xmerl похож на ваш: (обратите внимание на третье значение, список дочерних элементов)
Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}.
Его можно «экспортировать» в XML для использования в виде строки:
> lists:flatten(xmerl:export_simple([Data], xmerl_xml)).
"<?xml version=\"1.0\"?><myNode foo=\"Foo\" bar=\"Bar\"/>"
Или записывается в файл:
> file:write_file("/tmp/foo.xml", xmerl:export_simple([Data2], xmerl_xml)).
ok
Обратите внимание, что export_simple принимает список элементов, а не единственный корневой элемент. Кроме того, в зависимости от того, что вы делаете с результатом, выравнивание может оказаться ненужным.