我在internet explorer (7-8)中遇到了一些让函数工作的问题。我的问题是,我需要隐藏一些链接,直到用户登录,我会做这个服务器端;然而,足够说我没有办法做到这一点。
我的方法是加载一组文本(login/ logout ),这将更改服务器端并测试注销值。当IE7-8都拒绝运行这个IE时,我通过在Jquery中通过id加载一个div并使用.text(),开发工具告诉我"object不支持这个属性或方法“,并引用了包含这个查找的代码行。发布的代码如下:
function logintest(){
login_test= "Sign out";
alert($('#log').text());
login = $('#log').text();
if(login.search(login_test) == -1){
$('#hiddenBox').css('display','none');
}
};
有趣的是,警报可以正常运行并显示正确的文本字符串。在此失败后,我尝试使用.attr()并获得相同的结果。任何帮助都是最好的!
Jquery版本: 1.4.4站点: www.brainwellnesspro.com IE: 7-8 on win xp
发布于 2011-04-02 08:56:12
看看你的网站,我会先把html改成有效的,这不太好:
<div id="log" name="<a href='http://www.brainwellnesspro.com/login.php' onclick=''>Sign in</a> or <a href='http://www.brainwellnesspro.com/login.php?action=create_account' onclick=''>Create an account</a>">
<a href='http://www.brainwellnesspro.com/login.php' onclick=''>Sign in</a> or <a href='http://www.brainwellnesspro.com/login.php?action=create_account' onclick=''>Create an account</a>
</div>
因为您已经有了jquery,所以可以像这样检查登录链接的当前文本值
function logintest(){
if($("#log a").first().text() !== "Sign out"){
$('#hiddenBox').css('display','none');
}
};
发布于 2011-04-02 09:03:42
我的问题是,我需要隐藏一些链接,直到用户登录,我会做这个服务器端;然而,足够说我没有办法做到这一点。
为什么不行?当然,您的应用程序应该知道用户是否已登录(并能够相应地以不同方式呈现?)
无论如何-没有看到您的标记(具有id='log‘的元素的上下文(这是什么类型的元素?)...
if(login.search(login_test) == -1)
可能应该是
if(login.search(login_test) == '-1')
https://stackoverflow.com/questions/5520254
复制相似问题