1
<tr class="field_20 field_facebook">
<td class="label">Facebook</td>
<td class="data"><p><a href="http://facebook.com/facebook">Test</a></p>
</td></tr>
<img id="fb" src="fb.png">

您好,这就是我所拥有的,我想使用 jquery 选择值http://facebook.com/facebook并打开链接。这就是我到目前为止所拥有的:

<script>
jQuery(document).ready(function(){
jQuery("#fb").click(function() {
  var fb = jQuery(".field_20 field_facebook").find("a").attr("href");
window.open(fb);

}); //click function ends
}); // document ready ends
</script>

任何帮助将不胜感激,谢谢。

4

4 回答 4

4

使用.field_20.field_facebook(没有空格,而是句号)。

class属性允许您在具有空格的同一元素上定义多个类。这与空间是后代选择器的 jQuery(和 CSS)选择器不同。也就是说,.field_20 field_facebook尝试选择一个<field_facebook>元素,该元素是具有.field_20该类的元素的后代。使用.field_20 .field_facebook也不起作用,因为后代选择器仍然存在。省略空格是通过同一元素上的多个类进行选择的正确语法。

于 2013-06-04T23:43:55.673 回答
1

试试这个作为你的 jQuery 脚本:

$(document).ready(function() {

    $("#fb").click(function() {
        var fb = $('td.data a').attr('href');
        alert(fb);
        window.open(fb);
    }); //click function ends

}); //END $(document).ready()
于 2013-06-04T23:45:51.307 回答
1

您的选择器行可以简化为:

var fb = jQuery(".field_20.field_facebook a").attr("href");

就像在 CSS 中一样,您可以选择a哪个是具有 class 的元素的子元素.field_20.field_facebook

于 2013-06-04T23:46:47.097 回答
1
<tr class="field_20 field_facebook">

这些类在同一个元素上可用。

所以在选择器中使用时,两个类之间应该没有空格。

jQuery(".field_20.field_facebook")

使用下面的行访问facebook链接

jQuery(".field_20.field_facebook a").attr("href");
于 2013-06-04T23:50:10.517 回答