我找不到在子字符串中搜索字母/字符串的方法。目标是在找到字符串时创建警报。感谢
https://jsfiddle.net/1rawcotx/2/
function validate() {
if (string.indexOf('worlds') > -1) {
alert("word found");
}
}
<div id="string">
worlds and some other text
</div>
<button id="button" onclick="validate()">click me</button>
答案 0 :(得分:2)
DOM元素没有indexOf
,但在您的示例中,string
是一个DOM元素,因为您正在使用通过提供{创建的自动全局 {1}} div
。
要获取id="string"
的内容,您需要使用其innerHTML
或innerText
或textContent
属性。
我也不会提倡使用自动全局变量(尽管它们现在在规范中),因为那里有太多冲突的全局变量。相反,我会明确使用div
:
getElementById
function validate() {
if (document.getElementById("string").innerHTML.indexOf('worlds') > -1) {
alert("word found");
}
}
答案 1 :(得分:0)
您应该通过调用innerHTML
或document.getElementById
document.querySelector
您也可以直接使用String#includes()
const divValue = document.querySelector('#string').innerHTML;
function validate() {
if (divValue.includes('worlds')) {
alert("word found");
}
}
&#13;
<div id="string">
worlds and some other text
</div>
<button id="button" onclick="validate()">click me</button>
&#13;
答案 2 :(得分:0)
您可以先使用document.getElementById('string').innerHTML
string
变量
function validate() {
var string =document.getElementById('string').innerHTML;
if (string.indexOf('worlds') > -1) {
alert("word found");
}
}
<div id="string">
worlds and some other text
</div>
<button id="button" onclick="validate()">click me</button>