Jquery - 如果.find什么也不返回(Jquery - if .find returns nothing)

我有以下XML示例:

<?xml version="1.0"?> <extraslist> <extra id="0" enabled="1" quantityavailable="2" displayindex="1"> <extraname>Example 1</extraname> <extradesc>Example 1 Description</extradesc> </extra> <extra id="1" enabled="1" displayindex="2"> <extraname>Example 2</extraname> <extradesc>Description 2</extradesc> </extra> </extraslist>

还有一个.find函数可以找到每个额外的并在网页上显示结果。

$(xmlExtras).find('extra').each(function(){ });

我将如何去编写一个函数,以便如果所有'extras'= enabled =“0”做某事...

I have the following XML for example:

<?xml version="1.0"?> <extraslist> <extra id="0" enabled="1" quantityavailable="2" displayindex="1"> <extraname>Example 1</extraname> <extradesc>Example 1 Description</extradesc> </extra> <extra id="1" enabled="1" displayindex="2"> <extraname>Example 2</extraname> <extradesc>Description 2</extradesc> </extra> </extraslist>

And a .find function that finds each extra and displays the result on a web page.

$(xmlExtras).find('extra').each(function(){ });

How would I go about writing a function so that if all 'extras' = enabled="0" to do something...

最满意答案

正确阅读问题后更新

您可以使用额外的选择器检查find结果的长度:

var $enabledExtras = $(xmlExtras).find('extra[enabled="1"]'); if ($enabledExtras.length == 0) { //do something }

工作jsFiddle

Update after reading question properly

You can check the length of the find result using an extra selector:

var $enabledExtras = $(xmlExtras).find('extra[enabled="1"]'); if ($enabledExtras.length == 0) { //do something }

Working jsFiddle

更多推荐