2017-02-21 7 views
0

このコードはjavascriptで見つかりました。なぜ要素の特性が定義されていないのか、その原因は何か、何が何であるのか。誰かがこのような状況のいくつかの核心概念にいくらかの甘えを与えることができますか?要素のプロパティに問題がある理由

<form id="testForm" action="/"> 
<input type="text" id="id"/> 
<input type="text" name="action"/> 
</form> 
<script type="text/javascript"> 
window.onload = function(){ 
var form = document.getElementById('testForm'); 
assert(form.id === 'testForm', 
    "the id property is untouched"); 
assert(form.action === '/', "the action property is untouched"); 
assert(form.getAttribute('id') === 'testForm',"the id attribute untouched"); 
assert(form.getAttribute('action') === '/',"the action attribute is untouched"); 
}; 
</script> 
+1

質問が何であるかはあまり明確ではありません。このコードを実行すると、アサーションは失敗しますか?それとも、「手の届かない」ものが何を意味するのか混乱していますか? – JJJ

+0

私がコードを実行すると、最初の2つのアサーションは最後の2つのアサーションの間に失敗します。原因は何ですか?ありがとうございます。 – cowboy

+0

本書でそのようなコードが動作する理由を説明していませんか? – JJJ

答えて

0

このコードをプレーンなHTMLファイルにコピーして実行しようとすると、おそらくエラーが発生します。このコードスニペットではassertが定義されていないためです。 WebブラウザのJavaScript環境ではassertが定義されていません。

このコードを読んだ本から明らかに、assert機能を提供するJSテストライブラリが使用されています。その関数の署名はassert(condition , message_if_true)のように見えます。

関連する問題