繁体   English   中英

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

[英]Javascript If Statement for Text between two Tags

我正在尝试使用“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

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

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

<div>1</div>

你也可以使用jQuery

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

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

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

工作演示

这应该做你想要的。

<html>

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

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

</html>

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

这样的标签。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM