2016-11-14 6 views
0

var roll_time = $('#banner')[0].childNodes[0].textContent;== "Rolling in 25.00..."のときに関数を実行したいが、このコードでしようとしましたが、出力がありません。 <span>のテキストは10ミリ秒ごとに変化しています。あなたは負荷時の値を移入roll_timeにアクセスしようとしているため文章の長さが変更されたif文を使用する方法

setInterval(test, 10) 
 

 
function test(roll_time) { 
 

 
var roll_time = $('#banner')[0].childNodes[0].textContent; 
 

 
if (roll_time == "Rolling in 25.20...") { 
 
console.log(success) } 
 
}
<span id="banner">Rolling in 25.20...</span>

+0

オムroll_time'は常に 'test'の内側' undefined'ある 'ので....あなたは、'引数なしでtest'を呼んでいます。 –

+0

どういう意味ですか? – McMuffin

+0

'function test(roll_time){...}'であり、 'roll_time'は' test'の最初の引数として渡されるものを指します。 setIntervalは引数で 'test'を呼び出さないので、その引数は未定義です。 –

答えて

2

厥。

$( '#banner')[0] .childNodes [0] .textContentは文字列であり、参照ではないため、後でその文字列にアクセスする必要がある場合は、明示的にDOMからの値。

setInterval(test, 10) 
 

 
function test() { 
 
    var roll_time = $('#banner')[0].childNodes[0].textContent; 
 
    if (roll_time == "Rolling in 25.20...") { 
 
    console.log("success"); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span id="banner">Rolling in 25.20...</span>

+1

コードは正しいが、最初の文は完全に正確ではない。彼は常に未定義のroll_type引数にアクセスしていました。 –

+0

そうです、あなたは正しいです。 – Sreekanth

+0

console.logの代わりに関数を使用できますか? – McMuffin

関連する問題