检查<p>是否包含其值的单词

时间:2020-03-08 08:18:31

标签: javascript

无法使其正常工作。无法使.includes与值一起使用,我不确定为什么

这是一个使用 zxzx 作为变量而不是我想要的值的工作示例:

index < size

无法使用.value:

<p id="content">Lorem ipsum dolor sit amet</p>
<button onClick="scale()">button</button>

function scale() {
var zdzd = document.querySelector('#content');
var xzxz = "Lorem"

if(zdzd.innerHTML.includes(xzxz)){

zdzd.style.transform = "scaleY(0.8)";

}}

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

仅当您要处理类似.value<textarea>之类的输入元素时,访问元素的<input>属性才有结果。要检索非输入元素上的值的属性名称,您不能使用点符号-而是使用getAttribute查找属性:

function scale() {
  var zdzd = document.querySelector('#content');
  if (zdzd.innerHTML.includes(zdzd.getAttribute('value'))) {

    zdzd.style.transform = "scaleY(0.8)";

  }
}
<p id="content" value="Lorem">Lorem ipsum dolor sit amet</p>
<button onClick="scale()">button</button>

访问非输入元素的.value时,您会得到undefined

如评论所述,最好不要对所有非输入类元素使用value属性:

function scale() {
  var zdzd = document.querySelector('#content');
  if (zdzd.innerHTML.includes(zdzd.dataset.value)) {

    zdzd.style.transform = "scaleY(0.8)";

  }
}
<p id="content" data-value="Lorem">Lorem ipsum dolor sit amet</p>
<button onClick="scale()">button</button>