JavaScript: Как действительно фиксируют Ошибку Проверки W3, вызванную и

Похож на Вас, должен выбрать родительский узел projectNodes [я] прежде, чем назвать RemoveChild.

5
задан Poku 27 September 2009 в 10:31
поделиться

4 ответа

Есть несколько вещей, которые вы можете сделать.

Вы можете заключить его в комментарии HTML:

<script type="text/javascript">
<!--

if (foo && bar) ...

//-->
</script>

Вы можете заключить его в раздел CDATA:

<script type="text/javascript">
// <![CDATA[

if (foo && bar) ...

// ]]>
</script>

Вы можете включить в вместо этого файл:

<script src="foobar.js" type="text/javascript"></script>
18
ответ дан 18 December 2019 в 07:55
поделиться

Основной ответ: используйте файлы JavaScript для JavaScript, а не файлы HTML, и используйте атрибут src тегов script. (Объедините все ваши JS в один файл, сверните, сжайте и т. Д. Для повышения производительности.)

Но вы можете встроить JavaScript в HTML, если это абсолютно необходимо. Используйте действующий современный DOCTYPE, и вам не нужно прибегать к тегам комментариев и разделам CDATA.

Действительный пример HTML5:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Example</title>
<script type='text/javascript'>
function foo() {
   var a = 1, b = 2;

   if (a && b) {
      alert("Both");
   }
   if (a < b) {
      alert("a < b");
   }
   if (a > b) {
      alert("a > b");
   }
}
</script>
</head>
<body>
<p>Hi there</p>
</body>
</html>

Это также будет подтверждено как строгий HTML4, если вы измените тип документа на

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

. Обратите внимание, что в В обоих случаях вам нужно быть осторожным с закрывающими тегами в вашем скрипте -

Это вызывает проблему:

<script type='text/javascript'>
alert("</td>");
</script>

Это решает проблему, добавляя перед косой чертой обратную косую черту (или вы можете разбить конечный тег на отдельную строку литералы):

<script type='text/javascript'>
alert("<\/td>");
// -or-
alert("<" + "/td>");
</script>

Но, опять же, основной ответ: Дон '

3
ответ дан 18 December 2019 в 07:55
поделиться

Escape & с помощью & amp; , < с помощью & lt; и > с & gt; .

-1
ответ дан 18 December 2019 в 07:55
поделиться

Основываясь на вашем описании, я подозреваю, что вы говорите о скрипте, который находится внутри свойства события в теге HTML (например, onclick). В этом случае код сценария должен быть закодирован в HTML. Элайджа ударил по голове.

Например:

<input type="submit" onclick="if(somevar &amp;&amp; othervar) callFunc(&quot;clicked&quot;);">

Вам не нужно делать это внутри блока .

мы говорим о скрипте, который находится внутри свойства события в теге HTML (например, onclick). В этом случае код сценария должен быть закодирован в HTML. Элайджа ударил по голове.

Например:

<input type="submit" onclick="if(somevar &amp;&amp; othervar) callFunc(&quot;clicked&quot;);">

Вам не нужно делать это внутри блока .

мы говорим о скрипте, который находится внутри свойства события в теге HTML (например, onclick). В этом случае код сценария должен быть закодирован в HTML. Илия попал в точку.

Например:

<input type="submit" onclick="if(somevar &amp;&amp; othervar) callFunc(&quot;clicked&quot;);">

Вам не нужно делать это внутри блока .

0
ответ дан 18 December 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: