[英]Jquery / Javascript - Uncaught TypeError: undefined is not a function
谷歌沒有執行我的JS代碼。 在Firefox中一切正常
$('a[href="#pricends"]').click(function(){
$("div.text_1").text(($("div.text_1").text() == 'smth1') ? 'smth2' : 'smth1')
$("div.text_2").text(($("div.text_2").text() == 'smth2') ? 'smth1' : 'smth2')
if ( $('div.text_1').text().contains("smth1") ) {
//smth here
}
Chrome控制台輸出指向上方的“if”行。
未捕獲的TypeError:undefined不是函數(匿名函數)f.event.dispatch jquery-1.7.2.min.js:3 h.handle.i
如何解決這個問題? 現在沒有什么可以記住,命名功能並在之前與bool進行比較?
使用這樣的東西:
if ( $('div.text_1').text().indexOf("smth1") !== -1 ) {
//smth here
}
如果文本中某處存在“smth1”, indexOf
將返回-1以外的值。
您不能對.text()返回的文本值調用.contains()。
如果在使用jQuery解壓縮后測試該值,那么應該沒問題。
var divText = $('div.text_1').text();
if(divText.indexOf("smth1") != -1){
//do your stuff...
}
為什么不在選擇要追加的文本時使用相同的檢查:
if ( $('div.text_1').text() === "smth1" ) {
// do it
}
另一種方法是使用單個類來完成它
<a href="#pricends">CLICK</a>
<div class="smth">smth1</div>
<div class="smth">smth2</div>
JQ:
var $smth = $(".smth"); // Cache your elements
$('a[href="#pricends"]').click(function( e ){
e.preventDefault(); // Prevent Browser default anchor behavior
$smth.text(function(i, txt){
return txt=='smth1'?'smth2':'smth1';
});
});
有點擴展:
var $smth = $(".smth"); // Cache your elements
$('a[href="#pricends"]').click(function( e ){
e.preventDefault();
$smth.text(function(i, txt){
if(txt==="smth1"){
// do something with $(this)
// or do something else
}
// and afterwards thange text
return txt=='smth1'?'smth2':'smth1';
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.