遍历jQuery和匹配元素

时间:2014-02-26 06:49:51

标签: javascript jquery jquery-traversing

我正在克隆一个div(带有一个h3,一个段落和一个可点击的标记行),点击标记行并将div附加到我的侧边栏。有几个具有相同结构的div,当div已经被克隆时,我想确保第二次没有克隆该div。为了实现这一点,我试图匹配div的H3文本,其中使用已经克隆的div的H3文本单击了其标记行。如果匹配,我会弹出一条警告消息,并且不会将克隆的div附加到侧栏。

这是我的代码:

$(this).click(function(){ // where $(this) is the tag line

var clone = $(this).parents('.full_result').clone(); // on the click of the tag line, find the parent whose class is .full_result and clones it (.full_result is the class of all divs)

var jobsH3 = $(this).parents('.full_result').find('h3').text(); // returns the text of the H3 that is contained in the same div as the clicked tag line

var middleColumnInnerDiv=$('#middle_column').find('.full_result').find('h3').text(); // returns the text of all h3 whose divs have been cloned to the side bar(sidebar id= #middle_column)

//下面是神奇应该发生的地方,但我不能让它发挥作用。尝试了几种选择器和方法。 :包含只是其中之一。

  $(this).parents('.full_result').find('h3').each(function(){
      if('middleColumnInnerDiv:contains(jobsH3)'){ // this line is giving me a headache
     alert('You already saved this information');   
      } else {
           clone.appendTo('#middle_column').hide().fadeIn(750);
    }               
   });
};

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您缺少$ Jquery表示法。试试这个$("middleColumnInnerDiv:contains('.jobsH3')")