好的,我似乎没有得到它。我现在要做的就是在单击特定元素 - #target时将文本记录在网页上。是否有任何明显可能导致以下情况无法发挥作用?
<script type="text/javascript">
jQuery("#target").click(function(){
var selectorText = jQuery("#target").text();
console.log(selectorText);
});
</script>
答案 0 :(得分:3)
jQuery("#target")
在加载DOM之前,#target
不存在,因此jQuery无法将监听器附加到它。无论您是否尝试点击它都无关紧要。
如果你真的不想把它放在$()
中,试试这个:
$(document).on("click", "#target", function(){
//do your thing
});
答案 1 :(得分:3)
也许您的元素已动态创建,请尝试在此使用event delegation:
jQuery(document).on('click', '#target', (function(){
var selectorText = $(this).text();
console.log(selectorText);
});
此外,请确保自#target
唯一后才添加id
一次。如果您打算多次创建它,那么您需要使用类来代替。
顺便说一句,对于委托事件,您应该将它们绑定到最近的非动态父级而不是document
。