在jquery中选择一个元素供以后参考

时间:2014-02-24 15:10:58

标签: javascript jquery html

我有以下代码:

    var star = $("._container > favorite");
    var symbol =  $(star.parentNode.parentNode).attr("symbol");
    var exchange = $(star.parentNode.parentNode).attr("exchange");

但是,如果我再看看符号和交换,它们就是空白。我知道“明星”是我可以参考的:

$("._container > .favorite").click(function() {

这样做的正确方法是什么?

使用以下代码,第二个警报不会显示:

var star = $("._container > .favorite");
alert("symbol1");
var symbol = star.parent.parent.attr("symbol");
var exchange = star.parent.parent.attr("exchange");
alert("symbol2");

这是相关的html:

   <div id="tabs-2" aria-labelledby="ui-id-2" class="ui-tabs-panel ui-widget-content ui-corner-bottom" role="tabpanel" aria-expanded="false" aria-hidden="true" style="display: block;" tabcounter="2" symbol="GOOG" exchange="NASDAQ">

   <div class="_container">           
   <span class="favorite" status="off" style="display: inline;">   ☆</span> 

2 个答案:

答案 0 :(得分:1)

var $str_par_par = star.parent().parent(),
    symbol = $str_par_par.attr("symbol"),
    exchange = $str_par_par.attr("exchange");

<小时/> 截至Arun

star.parentNode应该是未定义的,因为star是一个jQuery对象,而不是具有parentNode属性的dom元素引用

答案 1 :(得分:1)

不要使用parent.parent。使用nearest()查找所需的最近节点。我认为你错了 这是文档http://api.jquery.com/closest/