从外部文件内使用外部文件替换外部文件

问题描述:

我有一个文件,说'file1.html',通过jQuery加载到一个div $('#info').load('info/file1.html');我想改变文件内的#info内容1这样的file1.html看起来像这样:从外部文件内使用外部文件替换外部文件

<a href="#" onclick="loadFile(this.value);" value="file2">File2</a> 

其中

function loadFile(f) { 
    $('#info').load('info/'+f+'.html'); 
} 

不过,我只在点击后的DIV得到一个空白页。我也尝试删除'info/',如果文件夹设置破坏它,但没有。怎么了?

+0

你CONSOLE.LOG(F)? – benhowdle89

问题是锚标记dom对象(HTMLAnchorElement)没有设置“value”属性。要获取dom对象所代表的定位标记的值属性,您可以执行$(this).attr('value')(而不是this.value,这将只是未定义的)。

但是真的,你应该使用id/class和jquery附加你的事件,而不是使用onclick属性。您应该调用您的锚定属性data-value而不是value,以符合自定义属性上的HTML5规范。所以更好的方式来做到这一点是:

HTML:

<a href="#" id="file-loader" data-value="file2">File2</a> 

的Javascript:

$('#file-loader').click(function(ev) { 
    $('#info').load('info/' + $(this).attr('data-value') + '.html'); 
    ev.preventDefault(); 
}); 
+0

这个工作很好,你在4分钟内得到你接受的答案。谢谢你的父亲! –

用途:

<a href="#" onclick="loadFile('file2');">File2</a> 
+0

它以前用来加载一个空白页面,现在它根本不加载任何东西? –