我有一个使用LinkedIn Javascript API来验证用户的Rails应用。我想要做的是根据用户是否注册来隐藏元素。我尝试了一些事情:
</body>
document.cookie
是否为空字符串,而不是更具体的if / else 然而,这些都没有隐藏元素。如果我进入浏览器的控制台并在页面完成渲染后粘贴我的代码,则该元素会隐藏。所以我认为这是一个JavaScript加载问题,但我一定做错了。任何人都可以对此有所了解吗?
这是我尝试过的代码,其中没有一个有效:
<%= content_for(:script_footer) do %>
<script type="text/javascript">
// if ($('span.IN-widget:contains("inSign in with LinkedIn")').length > 0) {
// $('#select').hide();
// } else {
// $('#select').show();
// }
if (document.cookie == "") {
$('#select').hide();
} else {
$('#select').show();
}
</script>
<% end %>
我的应用程序布局:
<!DOCTYPE html>
<html>
<head>
<title>rdtrip</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= yield(:linked_in) %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
<%= yield(:script_footer) %>
</body>
</html>
答案 0 :(得分:0)
用你的jquery / javascript代码包裹:
$(function(){
// your code here
});
答案 1 :(得分:0)
JavaScript在DOM准备好之前执行,因此它无法找到#select
。
将其包裹在:
中$(document).ready( function() {
// code
});
或者:
$(function() {
// code
});