返回列表 发帖

[TheWorld 3] reverse用法的疑惑,请高手解惑

本帖最后由 jym2005 于 2012-7-1 12:37 编辑

我想删除div#PageBody 中除div#contentleft之外的其余内容。
  1. <pattern type="1">
  2.     <targets>
  3.         <param>
  4.             <![CDATA[div]]>
  5.         </param>
  6.         <paramex>
  7.             <![CDATA[id=PageBody]]>
  8.         </paramex>
  9.     </targets>
  10.     <pattern type="1">
  11.         <targets>
  12.             <param>
  13.                 <![CDATA[div]]>
  14.             </param>
  15.             <paramex>
  16.                 <![CDATA[id=contentleft]]>
  17.             </paramex>
  18.             <reverse><![CDATA[1]]></reverse>
  19.             <replace>
  20.                 <![CDATA[<!--  blocked by gsf  -->]]>
  21.             </replace>
  22.         </targets>
  23.     </pattern>
  24. </pattern>
复制代码


但规则不起作用,仔细看教程,我上面的规则实际动作是过滤id=PageBody的div(其中不含id=contentleft的div)!我要过滤的可不止是div
要达到我的目的该怎么样做呢

reverse这样一来,该选项的作用也极其有限!

TOP

提示: 作者被禁止或删除 内容自动屏蔽
http://valid.canardpc.com/cache/banner/2854499.png
新浪/腾讯/饭否@小蛐蛐   twitter @jiayiming
如有过滤规则需要更新,请尽量原帖反馈提醒。

TOP

把一楼规则的第一层DIV换为*(星号),也达不到目的。

只能写二条规则:
  1. <pattern type="1">
  2.     <targets>
  3.         <param>
  4.             <![CDATA[div]]>
  5.         </param>
  6.         <paramex>
  7.             <![CDATA[id=PageBody]]>
  8.         </paramex>
  9.     </targets>
  10.     <pattern type="1">
  11.         <targets>
  12.             <param>
  13.                 <![CDATA[script]]>
  14.             </param>
  15.             <paramex>
  16.                 <![CDATA[.]]>
  17.             </paramex>
  18.             <replace>
  19.                 <![CDATA[<!--  blocked by gsf  -->]]>
  20.             </replace>
  21.         </targets>
  22.     </pattern>
  23. </pattern>


  24. <pattern type="5">
  25.         <targets>
  26.                 <param>
  27.                         <![CDATA[</head>]]>
  28.                 </param>
  29.                 <replace>
  30.                         <![CDATA[<style type="text/css">div#PageBody *{display:none;}div#contentleft{display:block;}</style></head>]]>
  31.                 </replace>
  32.         </targets>
  33. </pattern>
复制代码

TOP

如果浏览器为IE8以上div#contentleft ~ *{display:none;}也可以【div#contentleft 为容器div#PageBody内第一个子元素的情况下】

TOP

返回列表