【问题标题】:How to find out if A contains B? In javascript如何判断A是否包含B?在 JavaScript 中
【发布时间】:2021-02-07 01:44:42
【问题描述】:

假设我有两个 div A 和 B。

<div id="A">1253555</div>

<div id="B">1</div>

我必须找出 A 是否包含 B。
在此示例中,它将是(如果 1253555 包含 1 )的答案,这应该是正确的。
然后我必须执行函数 doSomething()。

function doSomething() {

  var x  =  document.getelementById("A").innerHTML;

  var y  =  document.getelementById("B").innerHTML;

  if (=...) { 
 // I dont know how to code here now...i tend to use indexof

}

请进一步指导我。
请使用纯 javascript 中的方法,并且最适合所有浏览器。

【问题讨论】:

  • 一件事,你的document.getelementById 必须是Element 而不是element

标签: javascript html if-statement include indexof


【解决方案1】:

代码概念很简单,只需获取 div innerHTML 值并在 javascript 中使用包含,您将得到您想要的结果:D

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <div id="a">1234</div>
    <div id="b">1</div>
</body>

<script>
    var a1 =  document.getElementById("a").innerHTML;
    var b1 =  document.getElementById("b").innerHTML;

    if(a1.includes(b1)) alert("true"); // you can change the alert to do whatever function you wan :D
    else alert("false");
</script>
</html>

【讨论】:

    【解决方案2】:

    您可以使用“包含”方法。

    function doSomething() {
       var x  =  document.getElementById("A").innerHTML;
       var y  =  document.getElementById("B").innerHTML;
    
       if (x.indexOf(y) !== -1) {
        console.log("Perform your next task!!!")
       }
    }
    
    doSomething();
    

    【讨论】:

      【解决方案3】:

      正确的语法是 document.getElementById() (Element 的大写'E'),然后你可以在你的条件中使用includes() 字符串方法。注意innerHTML的安全问题,可以改用textContent,可以阅读:https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML(安全注意事项部分)

        var x  =  document.getElementById("A").textContent;
        var y  =  document.getElementById("B").textContent;
      
        if (x.includes(y)) { 
          console.log('yes')
          }
      }

      【讨论】:

        【解决方案4】:

        更完整的代码...

        const bTest = document.getElementById('bt-test')
          ,  divA   = document.getElementById('div-A')
          ,  divB   = document.getElementById('div-B')
          ;
        bTest.onclick=()=>
          {
          if ( divA.textContent.includes( divB.textContent ))
            alert( 'yes it include')
          else
            alert( 'nope!')
          }
        div {
          border: 1px solid grey;
          padding: .5em;
          margin: .5em;
        }
        <div id="div-A" contenteditable>1253555</div>
        
        <div id="div-B" contenteditable>1</div>
        
        <button id="bt-test"> test include </button>

        【讨论】:

          【解决方案5】:

          只需使用includes:

          if(x.includes(y)){
            console.log('true');
          }
          

          【讨论】:

            【解决方案6】:

            您可以只使用String.prototype.includes(other) 函数。
            Documentation

            function doSomething() {
            
              var x  =  document.getElementById("A").innerHTML;
            
              var y  =  document.getElementById("B").innerHTML;
            
              if (x.includes(y)) console.log("It does");
              else console.log("It doesn't");
            
            }
            
            doSomething();
            <div id="A">1253555</div>
            
            <div id="B">1</div>

            【讨论】:

              猜你喜欢
              • 2010-10-28
              • 1970-01-01
              • 2019-08-17
              • 1970-01-01
              • 2014-07-28
              • 1970-01-01
              • 2012-05-17
              • 2014-11-02
              • 1970-01-01
              相关资源
              最近更新 更多