0

这个标题可能有点令人费解......但它就在这里。

我有这段代码。在(我认为它称为父级)跨度中,您可以看到 id 定义为 qa_prdcmpr_qtyspan_0。一个页面上有 4 个(创建为 0-3)来比较最多 4 个产品。

<span id="qa_prdcmpr_qtyspan_0" data-pa-element="compare-qty-column" name="qty-input">
   <br>
   <input class="txtInput" type="text" name="shoppingCartQty_0" id="qa_prdcmpr_qty_0"      maxlength="4" style="border:1px solid;border-color:#000 grey grey #000;width:35px">
   <span width="30px" id="qa_qty_error_1375968996697" class="error">Enter a quantity.</span>
</span>

在此块的顶层跨度中,id=qa_prdcmpr_qtyspan_0。0 是生成的数字(产品比较有 0-3)

span id 上的长数字是保证唯一性的时间戳。他们没有将页面编写为通用产品容器并能够在页面上包含 x 个容器,而是使用 4 个硬编码容器来定义页面以进行产品比较。话虽如此,我可以使用它。

我试过这个:

/* Remove Error Message if applicable */
var $errorElements = $('.error');
$(this).find($errorElements).remove();

我正在尝试这个:

var errorNode = $('span[id^="qa_qty_error_"]').attr('id');
while (errorNode.firstChild) {
    errorNode.removeChild(errorNode.firstChild);
}

第一个问题是如果有多个错误,它会删除页面上的所有“错误”元素。我以为我可以通过使用“this”来摆脱它,但我想不会。

我是否必须对父/子节点做一些事情才能获得正确的节点?

为清楚起见编辑(尝试)

4

1 回答 1

0

我最终找到了一个 pc_prfix,它用于在 id 的末尾生成 0-3。这有点欺骗性,因为我对描述性和正确变量名的思维定势。

$('#qa_prdcmpr_qty_' +pc_prfix).next('span.error').remove();

于 2013-08-12T17:27:00.607 回答