【发布时间】:2014-03-30 05:34:18
【问题描述】:
我有具有相同架构的嵌套控件并基于传递的控件 div ID,我想选择除内部控件中的项目之外的所有项目(“.inner”)。
<div id="Main" class="outer">
<div class="item">
<div class="inner">inner1</div>
<div id="Maininner" class="outer">
<div class="item">
<div class="inner">sub inner1</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function GetItem(id) {
var item = $($(id).find(".item:first"));
item.find(".inner:not(.outer .outer .inner)").each(function () {
alert(id + ": " + $(this).html());
});
}
if (typeof $ != "undefined") {
$(function () {
GetItem("#Main"); //expected output "inner1" , **working**
GetItem("#Maininner"); //expected output "sub inner1" **not working**
});
};
</script>
我想编写通用函数来处理这种情况。我尝试使用“:not”,但它仅适用于某些情况。 有什么更好的方法来编写代码,这两种情况都适用吗? 注意:我无法更改 HTML 结构。
【问题讨论】: