0

我正在尝试使用从外部页面上的 div 检索到的值来更改页面标题。所有文件都是本地的,在同一个文件夹中,或者一旦上传就会在同一个域下。

这是外部页面 (settings.html) 上的 html:

<div id="clientName">Some Company</div>

我正在使用.load函数从不同的页面(index.html)获取该 div 的内容:

$('title').load('settings.html #clientName');

一旦执行,页面标题将更改为 settings.html 页面 (file://blahblah) 的文件路径,而不是“Some Company”。但是,如果我尝试将相同的内容加载到 div 中,一切正常,如下所示:

$('div.test').load('settings.html #clientName');

我做错了什么?

谢谢, 克里科科

编辑:为了澄清,我不想开始讨论上面代码的实用性。我知道有更好的方法可以做到这一点,但是,这是一个演示/测试项目,很可能在没有本地服务器运行的情况下从本地机器运行。

4

3 回答 3

0

不要使用$('title')IE 不太支持它。而是使用document.title = 'whatever';以下内容将起作用

document.title = $('<div/>').load('settings.html #clientName'); 
于 2012-12-05T18:28:45.817 回答
0

我认为您不能为此使用 jQuery。只要用好

document.title = $('<div/>').load('settings.html #clientName');
于 2012-12-05T18:29:28.420 回答
0

我希望这需要通过回调异步完成。

$('<div/>').load('settings.html #clientName', function(response, status, xhr) {
    $("title").text($(this).text());
    //or
    //document.title = $(this).text();
});

document.title = $('<div/>'). ...在星期天的一个月内不会工作。您不能像分配文本一样分配 jQuery 对象。

如果@Magicmarkker 关于 IE 不玩 . 的说法是正确的$("title")...,那么请使用document.title = $(this).text().

于 2012-12-05T18:40:43.380 回答