Я хочу создать menuList, как показано на картинке.
https://developer.mozilla.org/En/XUL:menuitem#Examples
Когда я проверял на сайте Firefox, он показывает
«Примечание. Элемент menu должен иметь класс menuitem-iconic для отображения изображения.»
В моем случае я загружаю menuItems динамически из дерева XUL (получение значения дерева XUL и добавление его в MenuList).
Это список меню:
<menulist id="firstname">
<menupopup >
</menupopup>
</menulist>
<menulist id="laastname">
<menupopup>
</menupopup>
</menulist>
Файл CSS:
.menu-iconic-left {
min-width: 1.45em;
}
.menu-iconic-icon {
width: 16px;
height: 16px;
}
menu.menu-iconic > .menu-iconic-left,
menuitem.menuitem-iconic > .menu-iconic-left {
-moz-appearance: menuimage;
padding-top: 2px;
}
Я нашел весь этот код CSS в каталоге chrome моего браузера Firefox:
"Баночка: Файл: /// C: /Program%20Files/Mozilla%20Firefox/chrome/classic.jar /skin/classic/global/menu.css"
.
- Как я могу создать Iconic menulist, используя CSS?
Моя вторая проблема - получить значение menuItem. Как я уже говорил выше, я могу получить текст ячейки дерева и добавить его к элементу MenuItem в Menulist.
У меня есть около 8 Menulist, и после того, как пользователь решит выбрать значения, я хочу получить эти значения и добавить его в мой XML-файл.
Я пытаюсь таким образом, но кажется, что это неправильный способ, потому что он получает значение MenuItem из MenuList.
function mer()
{
alert('one' ); //This aler is working.
var src = "\n\<CONTACT>\n\
\<FirstName>"+document.getElementById("firstname").value+"</FirstName>\n\ //the id of the menulist.
\<LastName>"+document.getElementById("laastname").value+"</LastName>\n\ //the id of the seconf menulist.
\</CONTACT>\n";
alert('one' ); //This alert is not working.
var node = srcToNode(src);
alert(node);
if (objXMLDoc.childNodes && objXMLDoc.childNodes.length) {
for (var i = 0; i < objXMLDoc.childNodes.length; ++i) {
if (objXMLDoc.childNodes.item(i).childNodes && objXMLDoc.childNodes.item(i).childNodes.length) {
var x = objXMLDoc.childNodes.item(i).childNodes.length;
var lastNode = objXMLDoc.childNodes.item(i).childNodes.item(x-2); } } }
objXMLDoc.appendChild(node);
var textNode = document.createTextNode("\n");
objXMLDoc.appendChild(textNode);
var textNode1 = document.createTextNode("\n");
objXMLDoc.appendChild(textNode1);
var serializer = new XMLSerializer();
var prettyString = serializer.serializeToString(objXMLDoc);
prettyString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + prettyString;
//saveFile(prettyString, "C:\\merge.xml");
alert('Merge is done');
document.getElementById('group').setAttribute("hidden", "true");
}
function srcToNode(src) {
var domObject = (new DOMParser()).parseFromString(src, "text/xml");
return domObject.documentElement;
}
2.Как я могу получить значение моих menuItems menuList и обновить его до моего XML-файла.
Спасибо за вашу помощь и поддержку.