這裏後是HTML代碼調用jQuery的功能單擊某個元素
<p onclick='javascript:func(this);'>Bla bla bla</p>
這裏是腳本(這是寫在文件頭)。
function func(e) {
var t = e.text();
console.log(t);
}
它不起作用,我不明白爲什麼。錯誤消息是「Object#has no method'text'」。
這裏後是HTML代碼調用jQuery的功能單擊某個元素
<p onclick='javascript:func(this);'>Bla bla bla</p>
這裏是腳本(這是寫在文件頭)。
function func(e) {
var t = e.text();
console.log(t);
}
它不起作用,我不明白爲什麼。錯誤消息是「Object#has no method'text'」。
將它包裝在jQuery包裝中。 .text()
是一個jQuery方法,您的元素e
是一個純JavaScript DOM元素,因此您需要jQuery包裝器。
var t = $(e).text();
備註:不顯眼的事件處理程序分配優先於內聯處理程序。例如:
$(document).ready(function(){
$('p').click(function(){
var t = $(this).text();
console.log(t);
});
});
上面用了jQuery分配的點擊處理程序(而不是內聯的Javascript)等正因爲如此,該元件可以在this
爲平原Javascript對象,或$(this)
訪問用於jQuery對象。
非常感謝。有用。 – enjaku
嘗試使用innerHTML
:
function func(e) {
var t= e.innerHTML;
console.log(t);
}
對不起,如果你剛剛自己編輯它,但它是在LQP審查名單;-) –
使用innerText
,如果你不使用jquery。
function func(e) {
var t = e.innerText;
console.log(t);
}
正確的做法是:
HTML:中
<p onclick='func(this);'>Bla bla bla</p>
代替
<p onclick='javascript:func(this);'>Bla bla bla</p>
的Javascript:
function func(e) {
var t = e.innerHTML;
console.log(t);
}
jquery被設計爲不顯眼。如果您在任何地方添加onclick屬性都會導致錯誤。
相反,你應該添加事件監聽器
<p>Blah Blah Blah</p>
的Jquery/SCRIPT
$(document).ready(function(){
$('p').on('click', function(){
console.log($(this).text());
});
});
嘗試.innerHTML – Sergio
我看不出有任何的jQuery。 –