currentForm作为参数或getElementByID?

时间:2018-01-28 15:36:28

标签: javascript html

我对两种方式之间的优点/缺点(总的来说)有点困惑..这是一个例子:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> Test </title>
<script type="text/javascript">
function checkLabel(currentForm)
{
//  which method is better?

//  Method 1:
//  var box = document.getElementById("cookiesCB");
//  if(box.checked == false)

//  Method 2:
//  if(currentForm.cookiesCB.checked == false)
    {
        document.getElementById("cookiesLB").style="border: 1px solid red";
        return false;
    }
    return true;
}
</script>
</head>
<body>
<form method="get" action="http://www.google.com" onsubmit="return checkLabel(this)">
<label id="cookiesLB"> <input type="checkbox" id="cookiesCB"> use cookies </label>
<input type="submit">
</form>
</body>
</html>

虽然两种方式都运转良好,但我仍然认为必须有一些规则或限制来选择其中一种......任何想法?

1 个答案:

答案 0 :(得分:0)

我认为没有&#34;推荐&#34;方式,但在你的情况下,我当然更喜欢使用这个。例如,您必须考虑p标签无法直接访问其子级,您必须使用childNodes属性来访问它们。我想说这个选择取决于你需要做什么以及你的代码的可读性。 - Marco Luzzara