【问题标题】:simple html dom only extract empty class简单的 html dom 只提取空类
【发布时间】:2013-07-06 05:07:22
【问题描述】:

我正在尝试使用空类或未禁用的类获取位于标签元素中的数据。不幸的是,我尝试过的选择器都没有,比如 jQuery ":Not" 选择器。

到目前为止我的代码是:

$element = $html->find('div .titleHeader label', 0);

理想情况下会提取: 110 分:

<label for="attribute76">
<input id="attribute76" class="jshide" type="radio" value="76" name="super_attribute[144]">
110
</label>

而不是 105 个:

<label class="disabled" for="attribute75">
<span class="crossedStock"> </span>
<input id="attribute75" class="jshide" type="radio" disabled="disabled" value="75" name="super_attribute[144]">
105
</label>

【问题讨论】:

  • 不幸的是,没有。 label[class='disabled'] 确实给了我回报,但例如:label[class!='disabled'] 也不起作用。
  • 那里没有 div,所以显然没有这个工作的机会。

标签: php parsing css-selectors html-parsing simple-html-dom


【解决方案1】:
var element = $('div .titleHeader label')find('input', 0);

alert(element);

你可以在 jquery 的帮助下做到这一点

【讨论】:

  • 不幸的是,它对我不起作用。除非我做错了什么:&lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"&gt; &lt;/script&gt; &lt;?php require 'simple_html_dom.php'; $html = file_get_html('URL'); $element = $html-&gt;find('h1', 0); echo $element-&gt;plaintext."&lt;br&gt;\n"; $element = $html-&gt;find('.price', 0); echo $element-&gt;plaintext."&lt;br&gt;\n"; $element = $html-&gt;find('div .titleHeader label[class=""]', 0); echo $element-&gt;plaintext."&lt;br&gt;\n"; ?&gt; &lt;script type="text/JavaScript"&gt; var element = $('div .titleHeader label')find('input', 0); alert(element); &lt;/script&gt;
  • 令人讨厌的是,它适用于$element = $html-&gt;find('div .titleHeader label[for!=attribute72]', 0);,但不适用于我需要的类属性。 $element = $html-&gt;find('div .titleHeader label[class!=disabled]', 0); 有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-05
  • 2012-02-11
  • 1970-01-01
  • 2023-03-04
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多