我正在使用jQuery加载方法从“产品详细信息”页面获取包含大小选项的选择框,然后返回到“产品列表”页面。这是非常标准的,像这样:
<select class="validation">
<option value="" selected="selected">-- Please Choose an Option --</option>
<option value="Small">Small</option>
<option value="Medium">Medium</option>
<option value="Large">Large</option>
<option value="X-Large">X-Large</option>
</select>
我注入它然后循环它,使用这些大小生成一个大小过滤器 - 所有这些工作正常。这段代码的第一部分是我抓住它的地方。
$(prodItems).each(function (i) {
var prodLI = $(this),
getSelect = $(prodLI).find("a").attr("href") + " div.productOptionViewSelect select",
currentProd = $(prodLI).find("div.ProductImage").attr("data-product");
$(prodLI).append($("<div id='sizes' style='display: none'>").load(getSelect, function () {
appendSizes(prodLI, currentProd);
appendCount++;
// Sizes built, so load filters
if (count == appendCount) {
// call filter function
}
}));
});
然而,我已经意识到产品页面上还有一些JavaScript(我无法访问),这些JavaScript可以解决其中哪些库存,然后重新生成一个新的选择标记,它会立即注入这一个,将原始标签设置为display:none。
我的问题:如何抓住这个新的注入选择标签。我确实整个解决方案都在工作,禁止这个......我担心我可能需要一些专业建议,或者肩膀哭泣。我不认为这是一个简单的问题吗? : - /
答案 0 :(得分:0)
所以有些事情是在你创建的元素之前添加一个元素?如果您有权访问自己创建的文件,则可以使用.prev()
在你的情况下,它将是:
$('.validation').prev()
<强>更新强>