3

编辑:2忘记这一切,谢谢你的帮助!修复导致问题的其他一些 JS 是我的问题。在所有浏览器上都很好。


不确定我应该在这里进行编辑还是为此启动一个新线程,但这是我第一次寻求帮助的后续。

Roko (@user2469528) 提供的代码很有效,所以谢谢你,但它似乎只在 Chrome(我用来检查我的工作)中没问题,但在 Firefox、IE 和 Safari 中却不是这样(我刚刚注意到了!) . 所以作为我第一个查询的扩展,你能帮我理解为什么会这样吗?是 JQuery 的问题吗?

要查看它的实际效果,请转到我正在构建的站点(BigCommerce 后端),然后将产品添加到购物车,查看购物车,然后单击“计算运费”。由于这个网站只在澳大利亚销售,我已经隐藏了这个菜单中的国家和州下拉菜单。在 Chrome 中完美(至少是当前版本!)但在 FF / Safari / IE10 中不是这样......

再次感谢您的任何意见!米

原始请求* ** * ** * ** * ** * ** * ** * ****

我试图隐藏前两个<dt><dd>一个未命名的列表。该列表位于一个命名的内部div,如下所示。

<div class="ShippingMethod">
   <dl>
      <dt>Country</dt>                     <--- Hide
      <dd>Country List</dd>                <--- Hide 
      <dt>State</dt>                       <--- Hide
      <dd>State List</dd>                  <--- Hide
      <dt>Post Code</dt>
      <dd>Post Code List</dd>
   </dl>
</div>

页面上还有其他<dl>的,所以我需要在 div 中使用“ShippingMethod”类来定位这个特定的实例。我尝试了该论坛的一些代码组合,但均未成功。

4

3 回答 3

1

http://jsbin.com/uciyiv/1/edit <-- 具有相同类的多个元素的演示.ShippingMethod

$('.ShippingMethod').find('dt:lt(2), dd:lt(2)').hide();

http://api.jquery.com/lt-selector/

选择匹配集中索引小于索引的所有元素。

于 2013-07-20T01:53:30.053 回答
0
$(".ShippingMethod dl dt:lt(2), .ShippingMethod dl dd:lt(2)").hide();
于 2013-07-20T01:54:21.480 回答
0

你可以用 jQuery 做这样的事情:

$(".ShippingMethod dl dt:lt(2), .ShippingMethod dl dt:lt(2)").hide();

或者使用更有效的方式slice()

$(".ShippingMethod dl dt, .ShippingMethod dl dd").slice(0,4).hide();
于 2013-07-20T01:54:57.753 回答