【问题标题】:How to get .selected String?如何获取 .selected 字符串?
【发布时间】:2014-01-03 13:42:59
【问题描述】:

我使用 JS 在 XML 中搜索并获取它的元素,以便在进一步处理中使用它,我使用 heapbox 显示元素,然后使用 .selected 按顺序获取所选元素显示它的孩子。

这里的问题是我想获取所选元素以便在获取孩子之前进行一些名称处理,但是将它存储在 var 中时我什么也没得到,并且在直接使用完整查询时它可以工作,

例如,

var section = '', text = '' ; 
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($('menu').find($(".selected").text()).attr('nodeName'));

在该代码中section 等于什么,text 等于什么,它警报 undefined,而在处理中直接使用$('menu').find($(".selected").text()).attr('nodeName') 效果很好。

更新:

xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<menu parent_id="0" >

    <Menu cat="main">

    </Menu> 
    <Soup cat="main">
            <Mushrom0Tomato.Soap  price = "15.95" hasoption = "false"> 
            </Mushrom0Tomato.Soap>
            <Cream.Of.Chicken.Soap  price = "16.95" hasoption = "true"> 

                    <Add.Mushroom  price = "3.95"></Add.Mushroom>
                    <none  price = "0"></none>

            </Cream.Of.Chicken.Soap>
            <Season.Soap  price = "15.95" hasoption = "false">
            </Season.Soap>
    </Soup>
</menu>

JS代码:

var cats=[], cati=0, total=0, selectedarray=[], itemoptions=[], optionstring='', section='', si=0, oi=0, items=[];

$("#total").append("Total:  " + total + " EGP");

$('#dummy').load('cafe.xml',function() {
initialize();
})
function initialize(){
ct=$('menu').children().length;
for(cati==0;cati<=ct-1;cati++)
{
cats[cati]=$('menu').children().eq(cati).prop('nodeName');

var realname = cats[cati];
if(realname.indexOf(".") != -1){
    realname = realname.replace(/\./g,' ');
    }

$('.basic-example').append('<option value="option1">'+realname+'</option>');
}
$(".basic-example").heapbox({'onChange':function(){loadmenu()},effect:{type:"fade",speed:"slow"}});

}



// loading the items to the menu
function loadmenu()
{

$("#gallery").empty();
section = $('menu').find($(".selected").text()).attr('nodeName');
alert($("menu .selected").text().toString());
.
.
.

【问题讨论】:

    标签: javascript jquery xml dom


    【解决方案1】:

    .find 用于查找选定节点的子元素

    你可能只是想要

    $("menu .selected").text();
    

    $("menu .selected").attr("nodeName");
    

    .find 相当于这个(尽管可能没有必要)

    $("menu").find(".selected").text();
    

    $("menu").find(".selected").attr("nodeName");
    

    【讨论】:

    • 但是当提醒$("menu .selected").text(); 它给了我一个空字符串
    • 除非您实际发布您正在使用的代码和数据,否则我无法帮助您。
    猜你喜欢
    • 1970-01-01
    • 2013-03-30
    • 2018-01-02
    • 1970-01-01
    • 2011-11-30
    • 2017-07-28
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多