2

Javascript

    function validateForm() {
        var result;
        var keywords = document.querySelectorAll('#keywords');
        [].slice.call(websites).forEach(function(website) {
            if (website.value == '') {
                website.focus();
                HERE I SAY SOMEHOW THE ERROR
                result = false;
                return true;
            }
        });  
        return result;
    }

HTML

<div class="error-website">HERE THE ERROR IS GETTING ECHOED</div>

上記の div でウェブサイトをエコーする方法と、if 条件にエラーを追加する方法を教えてください。

4

5 に答える 5

1

試す:

document.querySelectorAll('.error-website')[0].innerHTML = 'Website';

NULLVisioNが指摘しているように、これは次のとおりです。

document.querySelector('.error-website').innerHTML = 'Website';

「一致がDOMの最後のDomNodeでない限り、querySelectorの方が高速です」ため、さらに高速です。

于 2013-09-01T12:32:58.520 に答える
1

まず第一に、クラスではなく ID を使用する方が適切です。その理由は、クラスは要素のクラス (つまり、カテゴリ) を対象としているためです。ただし、あなたの場合、1 つの一意の要素 (1 つしかありません) を扱っているため、私のアドバイスに従って次のマークアップに変更すると仮定します。

<div id="error-website">HERE THE ERROR IS GETTING ECHOED</div>

... 次のように簡単になります。

document.getElementById('error-website').innerHTML = "whatever <strong>you</strong> <em>like</em>";
于 2013-09-01T12:39:38.150 に答える
0

$(".error-website").text("Website")

于 2013-09-01T12:32:43.113 に答える
0

document.getElementById('error-website').innerHTML = ....

IDを使用する場合...

于 2013-09-01T12:39:01.213 に答える
0

DOM document.getElementsByClassName を使用する

例えば。

function validateForm() {
      var result;
      var keywords = document.querySelectorAll('#keywords');
      [].slice.call(websites).forEach(function(website) {
    if (website.value == '') {
    website.focus();
        HERE I SAY SOMEHOW THE ERROR
        result = false;
        return true;
    }
});  
return result;

var a=validateForm();
if(a){
 document.getElementsByClassName("error-website")[0].innerHTML=a;
}

注: getElementsByClassName() は、Internet Explorer 5、6、7、および 8 では機能しません。

于 2013-09-01T12:39:29.047 に答える