0

以下に次の関数を用意しましたが、3 つの変数すべてが null でない場合にうまく機能しますが、いずれかの変数 (tel、fax、cell) が null の場合に、null 変数を含む行が取得されないように変更するにはどうすればよいですか?書かれた?

Current scenario:
T. 123-4567-8910
F. 987-654-3210
C. 
-------------------------------
Desired scenario:
T. 123-4567-8910
F. 987-654-3210
-------------------------------
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function test() {

var tel = "123-4567-8910"
var fax = "987-654-3210"
var cell = ""

var html =
        '<div>T. '+ tel +'</div>\n' +
        '<div>F. '+ fax +'</div>\n' +
        '<div>C. '+ cell +'</div>'

document.write(html)

}
</script>
</head>
<body>
<a href="javascript:test()">test</a>
</body>
</html>
4

3 に答える 3

1

条件文について紹介します。

var html = '';
if (tel) {
  html += '<div>T. '+ tel +'</div>\n';
}
if (fax) {
  html += '<div>F. '+ fax +'</div>\n';
}
if (cell) {
  html += '<div>C. '+ cell +'</div>\n';
}
document.write(html)

ただしdocument.write()、通常は悪い考えと見なされます。詳細については、こちらをご覧ください。

于 2012-12-04T20:14:19.530 に答える
0

各変数をテストする必要があります。

var html =
    ((tel)?'<div>T. '+ tel +'</div>\n':'') +
    ((fax)?'<div>F. '+ fax +'</div>\n':'') +
    ((cell)?'<div>C. '+ cell +'</div>':'') ;
document.write(html);

使い方:

(tel)?'<div>T. '+ tel +'</div>\n':''

'<div>T. '+ tel +'</div>\n'意味: telが空/null でない場合''

デモ: http://jsfiddle.net/gHdy8/

于 2012-12-04T20:15:30.213 に答える
0

これを試して:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        function test() {
            var tel = "123-4567-8910";
            var fax = "987-654-3210";
            var cell = "";

            var html = "";

            if (tel == "") {
                html = html + '<div>T. '+ tel +'</div>\n';
            }
            if (fax == "") {
                html =  html + '<div>F. '+ fax +'</div>\n';
            }
            if (cel == "") {
                html = html + '<div>C. '+ cel +'</div>\n';
            }
            document.append(html);
        }
    </script>
</head>
<body>
<a href="javascript:test()">test</a>
</body>
</html>
于 2012-12-04T20:14:35.777 に答える