0

これらのulのいずれかに存在するかどうかを確認しようとしています。.length でテストしましたが、これが正しいかどうかはわかりません。select-sub-domain クラスに li がない場合でも、yes と警告します。

http://jsfiddle.net/ST8Be/

if ($('ul.expul > li.select-sub-domain').length < 0) {
var sub_doma = "Not set";
alert("no");
} else {
alert("yes");
var sub_domain = $('li.select-sub-domain').attr('id');
var sub_domainSplit = sub_domain.split('-');
var sub_doma = sub_domainSplit[1];
}​

<ul class="one expul">
<li class='select' id=eng-88>1</li>
<li class='select' id=eng-89>2</li>
<li class='select' id=eng-90>3</li>
<li class='select' id=eng-91>4</li>
<li class='select' id=eng-92>5</li>
<li class='select' id=eng-93>6</li>
<li class='select' id=eng-94>7</li>
<li class='select' id=eng-95>8</li>
<li class='select' id=eng-96>9</li>
<li class='select' id=eng-97>10</li>
<li class='select' id=eng-98>11</li>
<li class='select' id=eng-99>12</li>                    
</ul>

<ul class="two expul hide">
 <li class='select' id=fin-100>1</li>
<li class='select' id=fin-101>2</li>
<li class='select' id=fin-102>3</li>
<li class='select' id=fin-103>4</li>
<li class='select' id=fin-104>5</li>
<li class='select' id=fin-105>6</li>
<li class='select' id=fin-106>7</li>
<li class='select' id=fin-107>8</li>                
</ul>

<ul class="three expul hide">
 <li class='select' id=three-108>1</li>
 <li class='select' id=three-109>2</li>
 <li class='select' id=three-110>3</li>
 <li class='select' id=three-111>4</li>
 <li class='select' id=three-112>5</li>
 <li class='select' id=three-113>6</li>
</ul>​
4

2 に答える 2

0

変化する$('ul.expul > li.select-sub-domain').length > 0)

$('ul.expul > li.select-sub-domain').length == 0)

長さが 0 より大きい場合、警告なしのようなコードです。これは正しくありません。

length が 0 の場合は no と警告する必要があります。

于 2012-07-12T09:27:44.300 に答える
0

If ステートメントを変更するだけです。現在、アイテムがない場合は「はい」、アイテムがない場合は「いいえ」と警告しています。

if ($('ul.expul > li.select-sub-domain').length === 0) {
   var sub_doma = "Not set";
   alert("no");
} else {
   alert("yes");
   var sub_domain = $('li.select-sub-domain').attr('id');
   var sub_domainSplit = sub_domain.split('-');
   var sub_doma = sub_domainSplit[1];
}​

http://jsfiddle.net/PeterForss/ST8Be/2/

編集: JavaScipt の 0 は偽物である ため、次のようにさらに短く書くことができます。

if ($('ul.expul > li.select-sub-domain').length) {
   alert("yes");
   var sub_domain = $('li.select-sub-domain').attr('id');
   var sub_domainSplit = sub_domain.split('-');
   var sub_doma = sub_domainSplit[1];
} else {
   var sub_doma = "Not set";
   alert("no");
}​
于 2012-07-12T09:28:19.333 に答える