0

現在、HTML/CSS、JSP/サーブレット、および Javascript を使用して Web サイトを実装しています。JSP は、セッション値に応じて (たとえば、ユーザーが現在ログインしているかどうかに応じて) ページのどの部分を生成する必要があるかを制御し、Javascript には、生成されたドキュメントの要素 (たとえば、div セクション) に対するいくつかのアクションがあります。 .

しかし、JSP コードの条件が原因で div セクションが生成されない場合、Javascript からドキュメント div id 値を使用するという問題があります。

たとえば、ページに 2 つのセクションがあり、セッション値の条件に応じて JSP から生成されるセクションは 1 つだけです。また、div タグまたはそのサブタグの「id」を使用して各セクションに適用する一連の関数を含む Javascript ファイルがあります。しかし、JSP はすべてのセクションを生成するわけではないため、Javascript によって使用される「id」の一部が、返された HTTP 要求に存在しません。以下のコード スニペットは例を示しています。JSP ファイルは以下のとおりです。

<script src="script.js"></script>
...
<%
  if(some condition) {
%>
    <div id="someID"></div>

以下のように、script.js には「someID」に適用されるいくつかの関数があり、いくつかの html を出力してそれにアクションを適用します。ただし、JSP 条件が満たされない場合、someID は存在せず、識別されていない ID を使用すると Javascript エラーが発生します。

$function() {
  $('#someID').html( ..... )
}

質問はかなり冗長ですが、簡単に述べます。この条件は Javascript によって使用され、エラーが発生します。これを設計するにはどうすればよいですか?"

ありがとう。

4

2 に答える 2

1

簡単に確認できます

if($('#someID')) {
  .. do this..
}

また

if(document.getElementById('someId')){
 ..do this...
}
于 2013-08-21T11:21:55.970 に答える
1

エラーを回避するために、javascript を介して要素が存在するかどうかを簡単に確認できます。

if($('#someID').length > 0)) {
    $('#someID').html( ..... )
}
于 2013-08-21T11:07:50.807 に答える