isEqualNode失败,具有不同的html空格

时间:2017-09-27 12:18:54

标签: javascript html

当我使用使用不同空格的html字符串时,我发现了Node.isEqualNode()方法的意外行为。无论有没有空格,html结构都是等价的,但innerText属性具有不同的值。

这仅用于测试目的,因此不要为html字符串进行downvote!

var html = `<table>
              <tbody>
                <tr>
                  <td>a</td>
                  <td>b</td>
                </tr>
              </tbody>
            </table>`

var div_1 = document.createElement('div')
div_1.innerHTML = html

var div_2 = document.createElement('div')
div_2.innerHTML = html.replace(/ |\n/g, '')  // removes whitespace

console.log(div_1)
console.log(div_2)
console.log(div_1.isEqualNode(div_2)) // false

div_1.innerText包含所有空格以及a和b,而div_2.innerText仅包含a和b。

这看似奇怪的行为,我想知道这是否是预期的行为。

0 个答案:

没有答案