Javascript如果两个标签之间的文本声明

时间:2009-07-08 21:27:37

标签: javascript dom

我正在尝试使用“if”语句编写一个javascript函数,如果两个标记之间的文本匹配,它将执行命令。我已经能够编写许多“if”语句 当输入文本框中的值等于“if”语句标准的值时执行命令,例如:

function Test()
{
    if (document.getElementById('A').value == 1)
    {
      alert('test');
    }
}

<input type="button" id="B" onCLick="Test()"/>
<input type="text" id="A"/>

当我在文本框中输入“1”并按下按钮时,会出现一个警告框。我遇到的问题是我想对两个标签的文本做同样的事情。例如:

function Test()
{
        if (document.getElementById('A').value == 1)
    {
      alert('test');
    }
}

<input type="button" id="B" onCLick="Test()"/>
<p id="A">1</p>

在我的项目中,我会使用单词而不是数字,所以我明白我必须用引号括起来。不幸的是,这不起作用。是否可以编写一个像上面那样的“if”语句来确定两个标签之间的文本是否为真?另外,我尝试过document.getElementById('A')。text和document.getElementById('A')。innerHTML,但这些都没有区别。我甚至试过用一个等号而不是两个;然而,这将使所有标准成立,无论它是否真实。

由于

DFM

4 个答案:

答案 0 :(得分:4)

if(document.getElementById("myID").innerHTML == "1")

如果有问题的元素(例如div)具有以下标记,则评估为true。

<div>1</div>

您也可以使用jQuery

if($(element).text() == "1")

答案 1 :(得分:2)

您的第二个示例中有onCLick而不是onclick (全部小写),这就是它无法正常工作的原因。您应该使用innerHTML来获取<p>元素中的文本。

但请注意,如果要在要获取文本的元素中包含其他元素,则使用innerHTML将返回所有这些元素及其各自的内容。

<强> Working Demo

答案 2 :(得分:0)

这应该做你想要的。

<html>

  <input id="test" type="text" value="hello">

  <script>
    if (document.getElementById('test').value == "hello") alert("hello");
  </script>

</html>

答案 3 :(得分:0)

自从我开始深入JavaScript开发已经有几年了,但是我记得(有点生疏),而不是innerHTML,最好使用像childNodes [0] .nodeValue或firstChild.nodeValue这样的东西。 / p>

这样的标签。

请参阅以下链接... http://www.howtocreate.co.uk/tutorials/javascript/dombasics