我正在客户端使用xml。下面是我的XML。
<ItemList>
<Row ID="" Name="-- Select a Item --" GrpID="" Flag=""/>
<Row ID="S5" Name="Item 1" GrpID="G7" Flag="0"/>
<Row ID="S6" Name="Item 2" GrpID="G7" Flag="0"/>
<Row ID="S7" Name="Item 3" GrpID="G7" Flag="0"/>
<Row ID="S85" Name="Item 4" GrpID="G7" Flag="0"/>
<Row ID="S5" Name="Item 11" GrpID="G4" Flag="0"/>
<Row ID="S13" Name="Item 5" GrpID="G7" Flag="0"/>
<Row ID="S14" Name="Item 6" GrpID="G7" Flag="0"/>
<Row ID="S15" Name="Item 7" GrpID="G7" Flag="0"/>
<Row ID="S16" Name="Item 8" GrpID="G7" Flag="0"/>
<Row ID="S17" Name="Item 9" GrpID="G7" Flag="0"/>
<Row ID="S12" Name="Item 12" GrpID="G4" Flag="0"/>
<Row ID="S22" Name="Item 22" GrpID="" Flag="0"/>
<Row ID="S25" Name="Item 26" GrpID="" Flag="0"/>
</ItemList>我必须用(GrpID=G7和ID<'S5')或(GrpID是'')分配项。
$(xmlItems).find("Row[GrpID='7'][ID<'S82'],[GrpID='']")我哪里做错了。我可以从下面得到答案。
$(xmlItems).find("Row[GrpID='7'][ID='S85'],[GrpID='']")问题"=“正在工作,而"<”不适用于项ID (字符串)比较。
发布于 2014-05-28 20:23:11
应该对@AnttiHaapala中的返回语句进行轻微调整,以使代码正常工作。请参阅以下修改后的版本:
$filtered = $(xmlItems).find("Row[GrpID='G7']").filter(
function (index, element) {
return $(element).attr('ID') < 'S5';
}
)
.add( $(xmlItems).find( 'row[GrpID=""]' ) );这是因为ID是row的一个属性。由于元素是row的迭代器,所以需要获取它的ID属性,如下所示:
$(element).attr( 'ID' );发布于 2014-05-28 19:39:04
Jquery使用CSS选择器;语法不支持与<或>匹配。您需要使用jQuery.filter()来完成这一任务,例如:
$filtered = $(xmlItems).find("Row[GrpID='G7']").filter(
function (index, element) {
return element.ID < 'S5';
}
);但是,请注意,字符串比较仍然可能不符合您的意思--这不是数字比较,而且'S11' < 'S2'是真的。
https://stackoverflow.com/questions/23920287
复制相似问题