2016-08-24 19 views
0

で「表示エラー」を有効にします。コンソールですべてのエラーを示しjQueryのは - 私たちは持っているときはいつでも、コンソール

$("something") 

それdoesntの、それはそのタグを持つ要素を見つけるカント場合。方法は、それが要素を取得カント場合は、エラー/通知を表示するには、そこにある(プレーンJavascriptが要素が存在doesntのgetElementBy...、でそれをしないように...)

EDIT 1: 一部の人々はそれがないことを、言いますエラー、それはちょうど "見つからない" ..私はこの意見に同意しない、なぜならすべての世界はBROWSERS(google、FF、Opera)が間違っていると報告しなければならないからです。どうして?要素が見つからない場合はと表示されます(getElementBy..)。これはコンソールにが表示されているためです。そして、私はそのjQueryが同じようにしたい。その機能を有効にするには?

EDIT 2:私は手動でチェックを毎回($(element).lengthかなど)をたくない、私はERRORデバッガ(ない条件付きのコーディングやなど)を有効にしたい..

EDIT 3:どのように我々は報告している程度jQueryは、つまりjQuery_Enable_Notices = true;(またはこのようなsmth)変数を定義する能力を与えます。その場合、jQuery関数showdコンソールログにそのようなエラーがありますか?

+1

しかし、これはエラーではありません。それはちょうど見つからない。 'if(!something()。length)'のような独自のエラーを作成できます。 – eisbehr

+1

あなたは好きなように突き当たり反発することができます。 ;)しかし、セレクタが何も見つからなかった場合、jQueryがエラーをスローしないことを喜ばしく思います。これは非常に求められています。そのため、jQueryを使用することができます。セレクタが要素を返さないときにエラーが発生すると、それは機能しません。あなたがまだ何かがアクティブでも選択されていなくても、 '$( ':checked')'の '$( '。 – eisbehr

+1

_ "(プレーンJavascriptのようにgetElementByでそれを行います...) "_ _ document.getElementById( 'foo')はエラーをスローしません。要素が見つからない場合はnullを返します。後でnullにプロパティにアクセスしたり、メソッドを呼び出そうとすると、もちろんエラーをスローするかもしれないあなたのコード。 – CBroe

答えて

-1
if($('selector').length)   // use this if you are using id to check 
{ 
    // it exists 
} 

else 
{ 
console.log("not exist") 
} 

使用$('#selector').lengthタグはあなたもこれを試してみてください。この

// if element does not exist 

    if(!$('selector').length){ /* console here */ } 
+0

あなたは私が手動で条件付きprogrammingsとなどが必要いけない –

+0

が を歓迎し、再び読んで、質問を誤解していますそれは自分自身をコード化する。 – Coder

+0

... –

-1

のように使うことができそうでない場合は、他の条件の実行

存在している場合、それはあなたの長さを与える:

if ($("#mydiv").length > 0){ 
    // do something here 
} 

これを要素が存在しない場合はゼロを返します。

+0

質問を誤解して、再度お読みください。 –

2

デフォルトでは、jQueryではエラーではありませんが、これは望ましい動作です。

私が知る唯一の方法は、jQueryコンストラクタの周りにラッパーを構築することです。セレクタによって要素が見つからない場合は、自分でエラーを出力することができます。

しかし、これは本当にあなたのニーズを回避する方法です。私はこれを開発目的でのみ使用し、生産的な環境では使用しません。また、findchildrennextなどのサブセレクタや、基本構造のサブセレクタでは機能しません。それ以外の場合は、すべてをラップする必要があります。 ;)

$ = function(selector, context) { 
 
    var elements = jQuery(selector, context); 
 

 
    if(!elements.length) { 
 
     console.log("element(s) by selector '" + selector + "' was not found"); 
 
    } 
 

 
    return elements; 
 
} 
 

 
$("div").text("test"); 
 
$("something").text("test");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div></div>

関連する問題