作者TonyQ (^^)
看板Ajax
标题Re: [问题] jquery的has使用方式
时间Tue Feb 23 17:34:21 2010
※ 引述《knives ()》之铭言:
: 因为我要用jquery产生innerHTML
: 用$('#contain').append('<div id="tab'+id+'>某id的innerHTML</div>');
: 其中希望每一个id只能产生一组,所以必须判断
: contain是否已经有同一个id产生了
: 我看jquery有一个has
: 我看官网范例,有一段是这样用的
: $("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") +
: "</li>");
: 所以我想说has传回来是不是就是布林值
: 我就把我的判断写成这样
: if ( $('#contain').has('div#tab'+id) )
: { //检查是否该id已产生过了
: alert("已经产生过一次了");
: return false;
: }
: else
: {
: $('#contain').append('<div id="tab'+id+'>某id的innerHTML</div>');
: }
: 但是我第一次执行的时候,却是已经跑到警告视窗的判断里面
: 这并不是我要的结果
: 请问一下,我该怎麽写才能判断
: 谢谢
这东西是新东西(since 1.4) , 难怪我刚刚一时想不起来有这个东西,
刚翻了一下 doc, 这东西应该是filter ,
所以她回传的是[符合这个条件的元素] , 而不是你所谓的 boolean.
$("ul").has("li") 是说 , 找出所有ul 里面有包li这各子元素的,
回传的是一个 ul 的集合 .
你可以透过取得回传的集合的数量(如果是0就是没找到)来判断.
ex. $("ul").has("li").size() == 0 或 $("ul").has("li").length==0
这其实在他的doc 范例可以找的到.
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.173.93
1F:→ knives:那有没有其他方法,能够达成我的需求判断 02/23 17:49
2F:推 JYHuang:直接抓$("#contain #"+id).length 有没有>0 会不会较快? 02/23 17:53
3F:→ TonyQ:那就乾脆判断那个id 有没有产生啦 $("#id").size()==0 02/23 19:22