私はこれを持っています:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length){
if( field[0].id ) {
widget = registry.byId( field[0].id );
if(widget){
...
}
}
私は私が書くことができると思ったでしょう:
var field = query("form#"+form.id+" input[name='" + error.field + "']");
if(field.length && field[0].id && widget = registry.byId( field[0].id) ){
...
}
しかし、2番目の「短縮された」形式を使用すると、Javascriptエラーが発生します。
申し訳ありませんが、JSFiddleを提供するのは面倒です。この問題は、query()が0の値を返す場合に発生します- field[0].id&&widget = registry.byId( field[0].id) はまだ解釈されていました。
私はそれを安全にプレイしていると思いました。2番目field[0].idはそうであった場合field.lengthにのみ発生し、> 0それが真実であるwidget = registry.byId( field[0].id)場合にのみ発生するからfield[0].id です...
私は何が欠けていますか?
メルク。