为什么不通过jQuery和AJAX来改变段落呢?
Why won't the paragraph be changed via jQuery and AJAX?
我试图从外部文件更改任意段落的内容。
External Files/text.txt
:
jQuery and AJAX do go well together!
下面是帮助修改段落的文件:
jquery_ajax1.html
:
...
<script language="Javascript">
...
$('button').click(function() {
$('#p1').load('External Files/text.txt', function(responseText, statusTxt, xhr) {
if(statusTxt == 'success') {
window.alert("External content loaded successfully!");
}
if(statusTxt == 'error') {
window.alert("You've got problems." + "'n" + xhr.status + ": " + xhr.statusText);
}
});
});
</script>
<body>
...
<p id="p1">Click the below button to change me!</p>
<button>Click to change paragraph using jQuery and AJAX!</button>
</body>
当我运行程序时,我得到段落和按钮,但是当我点击按钮时,段落没有改变。我试着在<div></div>
内包装段落,但没有任何效果。我最初尝试添加一个新段落,并将文件附加到新段落。我还试着把这段话注释掉。毫无效果。我的代码有问题吗?我该如何解决这个问题?
指出:
我看到了这个问题,这个问题,这个问题,这个问题,还有更多的问题,但他们没有帮助我解决我的问题。
您的Javascript在HTML呈现之前运行,这意味着您正在将单击侦听器附加到尚未在DOM中创建的按钮上。因此,你的真正的按钮没有得到一个点击监听器附加到它,因为它是在你的Javascript已经执行后加载的。
你应该总是使用jQuery的document ready方法,它会在执行Javascript之前等待文档完全加载,确保你想要与之交互的元素已经加载。
在你的情况下,你应该能够在你的Javascript中做到这一点。
$(function() {
$('button').click(function() {
$('#p1').load('External Files/text.txt', function(responseText, statusTxt, xhr) {
if (statusTxt == 'success') {
window.alert("External content loaded successfully!");
}
if (statusTxt == 'error') {
window.alert("You've got problems." + "'n" + xhr.status + ": " + xhr.statusText);
}
});
});
})
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 为什么使用immutableJS我的状态没有改变
- Javascript-在文本区域中断,但不在段落中中断
- 我怎么能在同一个HTML页面上多次在不同的段落中添加相同的字符串呢
- 为什么我不能在这里改变zIndex呢?
- 根据下拉菜单中的选择来改变段落文本——Angular
- Jquery的点击功能在3个类之间改变.为什么不工作呢?
- JavaScript作用域改变了吗?为什么会这样呢?
- 如何使链接在点击时改变段落的内容?返回false,不工作
- 我们怎么能只改变网页的内部部分呢?
- 为什么改变一个已经推送到数组中的对象也会改变数组中的值呢?
- 为什么不在jQuery中改变动画中的浮动属性呢?
- 在JavaScript中使用childNodes改变段落样式
- 如何用JavaScript改变一个段落的字体大小
- 如果我用JavaScript改变BG的颜色,我怎么使用CSS.hover呢?
- 为什么不通过jQuery和AJAX来改变段落呢?
- 为什么一个javascript要“暂停”呢?当另一个人改变形象
- Redux -我已经改变了我的状态,在这之后我该怎么做呢?