2016-03-02 70 views
1

我想添加一个类到元素,具体取决于他们使用的浏览器。这是我的:使用Javascript将元素添加到元素

var browser = navigator.userAgent; 

if (browser.match("Firefox")){ 
    $(".dollar").addClass("ff"); 
} 

但它似乎并没有工作。我究竟做错了什么?

编辑:HTML

<p class="dollar">$</p> 
+0

请添加HTML代码 – cl3m

+0

我ñ什么因为它不工作?使用调试器浏览代码。 – 2016-03-02 19:50:33

+0

做好这项工作[browser.match(/ Firefox/g)](https://jsfiddle.net/56bftwtd/) –

回答

0

使用文档(DOM)准备包装:

var browser = navigator.userAgent; 

jQuery(function($){    // DOM is now ready 

    if (browser.match("Firefox")){ 
    $(".dollar").addClass("ff"); // and .dollar is parsed 
    } 

}); 

在Firefox测试此jsBin demo例如

+0

谢谢@Roko这个很好用 – Ruby

+0

不客气@Ruby –

0

由于navigator.userAgent的返回 “的Mozilla/5.0(Windows NT的6.1; WOW64; RV:40.0)壁虎/ 20100101火狐/ 40.0”

其中当然在你的if语句不匹配“火狐”,所以这样你的if语句是假的......

你可能也想尝试:

if (navigator.userAgent.search("Firefox/") > -1) 

为您若 - 应该看到Firefox的 - 然后使用Chrome /对铬试验

[编辑的,如果建议]

+0

它匹配我。该字符串包含“Firefox”,所以我不明白为什么它不应该匹配。 – Oriol

+0

感谢您的回复。正如@Roko所建议的那样,我需要先将DOM完全加载。所以我最初的browser.match(“Firefox”)仍然有效,它只是需要它被封装在一个函数中。我测试了你的,它也工作得很好。谢谢! – Ruby