条件jQuery语句检查<li>的文本是否已经在<ul>?</ul> </li>

时间:2013-11-28 13:08:40

标签: jquery html-lists contains

我有一个包含动态生成列表的div,其中的项目是在点击时添加的。

我想添加条件语句:

  

“如果此项目不在列表中,则    做点什么,
   否则,
   做点什么“

这是我到目前为止所做的,我认为条件语句中的选择器可能不正确,因为所需的功能不起作用(尽管Firebug中没有错误):

的jQuery

<script type="text/javascript">
function myFunction(){ 
    $("span.tooltip").hover(function() {
        link = $(this).attr("data-link");
    });

    $("span.tooltip").click(function() {
        link_text = $(this).text();

        // my conditional statement with issues
        if ($('.area_one ul li').not(":contains(link_test)")) {
            $(".area_one ul").prepend("<li>" + link + "</li>");
        } else {
            // do something else
        }
    });
}
</script>

动态填充列表

<ul>
<li><a href="#">link one</a><span class="clearMe" style="display: none;">clear</span></li>
<li><a href="#">link two</a><span class="clearMe" style="display: none;">clear</span></li>
<li><a href="#">link three</a><span class="clearMe" style="display: none;">clear</span></li>
</ul>

1 个答案:

答案 0 :(得分:1)

可能的解决方案:

$("span.tooltip").click(function() {
  link_text = $(this).text();
  if ($(".area_one ul li:contains('"+link_text+"')").length == 0) { 
    $(".area_one ul").prepend("<li>" + link_text + "</li>");
  } else {
     alert("already present");
  }
});

小提琴:http://jsfiddle.net/5d5pw/1/