CSS根据href属性中的片段标识符选择元素



我正在使用tabview,它是YUI3库的一部分。

标记基本上是这样的:

<div id="demo" class="yui3-tabview-content">
  <ul class="yui3-tabview-list">
    <li class="yui3-tab yui3-widget yui3-tab-selected">
      <a href="#foo" class="yui3-tab-label yui3-tab-content" tabindex="0">foo</a>
    </li>
  </ul>
  <div class="yui3-tabview-panel">
    <div id="foo" class="yui3-tab-panel yui3-tab-panel-selected">
      <p>
        foo content
      </p>
    </div>
  </div>
</div>

篡改标记:http://jsfiddle.net/zb6su/

问题:我正在编写一些javascript代码,希望选择一个给定tabview-panel的选项卡。假设在这种情况下,我能够获得id foo。我想选择带有a[href=#foo]的选项卡。

问题是a[href=#foo]根本不起作用,因为#用于选择Id。我也尝试过a[href="#foo"],但没有成功。是否有css选择器来根据href属性中的URL片段选择链接?

我知道使用javascript,我可以遍历所有节点并检查href属性,但我更喜欢在可能的情况下使用CSS选择器。


更新:选择器确实有效。它看起来像是FireFinder中的一个bug(我正在使用一个扩展来测试选择器)。

它与相同的选择器配合使用很好,但使用jQuery(fiddle)。

$('a[href="#foo"]').text();

返回"foo";。与CSS相同:

a[href="#foo"] {
    color:red;
}

问题似乎更多的是F21的FireFinder,而不是a[href="#foo"]的使用。案件结案。

相关内容

  • 没有找到相关文章

最新更新