我有一个使用$(this)和:gt()一起的问题.
我正在尝试将此伪代码转换为工作代码:
$(this).children().gt(3).show();
Run Code Online (Sandbox Code Playgroud)
这会有用吗?我试图用超过3的索引显示这个孩子.
我在做一个Chrome扩展,并有在doc 这种说法有关chrome.tabs.onActivated.
chrome.tabs.onActivated.addListener它说,每当我试图放置时Uncaught TypeError: Cannot call method 'addListener' of undefined.
整个background.html:
<script>
chrome.tabs.onActivated.addListener(function(info) {
var tab = chrome.tabs.get(info.tabId, function(tab) {
localStorage["current_url"] = tab.url;
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 我试图将story_id传递到最内层的内联函数,但它始终为0,即使它在外部函数中不是0.如何传递此值?
function activateSearch(){
if($('story_filter')) Event.observe('story_filter', 'keyup',
function(event) {
$('stories_table').select(".story").each(
function(story) {
story_id = story.id.split('_')[1];
story.select('.tableCell', '.indexCardContent').each(
function(task, story_id) {
hideStoryRow(story_id);
task_filter = new RegExp($F('story_filter'), "i");
if (task.innerHTML.match( task_filter ))
{
showStoryRow(story_id);
throw $break;
}
}
);
}
);
}
);
}
Run Code Online (Sandbox Code Playgroud) 是否有人熟悉OS X Safari(版本3和WebKit)中的本机代码?我正在使用Javascript来解析表单中的一些信息,我的一个输入被命名为"tags".尝试使用以下方法获取该元素的值时:
// button is being passed through a function as a DOM object
var tags = button.form.elements["tags"].value;
Run Code Online (Sandbox Code Playgroud)
Safari返回某种功能.我已经得到它提醒像"function tags(){[native code]}"和Node Trees这样的值,但我无法理解为什么我会遇到麻烦.如果有人有线索,请告诉我.我已经通过将输入的名称更改为其他内容并通过迭代所有元素并使用if()语句来确定它是否是我想要的元素来实现它,但我非常好奇为什么Apple会限制使用任何名为"tags"的表单元素...
PS - 它的测试,在Firefox中运行良好.
我正在阅读一大堆HTML,我希望能够以与DOM相同的方式遍历HTML的这个子树.
在Prototype中是否有一种方法可以获取一大块HTML(例如来自AJAX调用)并以某种方式"包装"以便它成为Prototype元素,从而允许我使用.up() .down()等搜索它?
或者我是否需要先将它添加到DOM中才能以这种方式操作它?
提前致谢.
我添加了一些有用的助手Array(比如toSource()Opera).现在for..in返回具有普通属性的函数.
我现在正在使用for..in,因为代码更易于阅读.它是js的原生功能,因此必须更快.
但是在循环中添加类型检查可以更容易地使用经典for(;;).
有没有什么方法可以避免for..in枚举函数?
跨浏览器工作不是很必要(必须在Opera中工作),但速度很重要.
谢谢.
编辑:
有没有能力避免for..in任何对象的枚举函数或自定义属性?
我有这个示例页面:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ajax Page</title>
<script type="text/javascript">
function ajax_hello() {
alert ("hello");
}
alert ("Hello from JS");
</script>
</head>
<body>
This is the Ajax page.
<a href='#' onclick='ajax_hello();'>Click here to fire off JS function</a>.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我这叫它:
new Ajax.Updater($(element), page, { method: "get", evalScripts: true });
Run Code Online (Sandbox Code Playgroud)
警报正在运行,但该函数未注册(ajax_hello()).
有没有办法让ajax将javascript函数注册到调用页面?
为了把事情放在上下文中,我正在通过Ajax加载一个项目列表,创建一个包含每个项目主要信息的div,并希望在点击它时在页面上显示详细信息.所以我在onSuccess中有这个代码:
items = transport.responseText.evalJSON(); // my list of objects that contains all the details I'll need for that page
for (var itemID in items)
{
newDiv = ... // Creating my div with main infos
$('myDiv').appendChild(newDiv);
// More code to make everything look pretty and that works fine
Event.observe(newDiv, 'click', function() { loadItem(itemID); });
}
Run Code Online (Sandbox Code Playgroud)
loadItem是我的函数,它将显示所有项目详细信息.我的问题是itemID在创建observe事件时不会被其值替换,因此它总是为所有项返回相同的ID.
知道如何解决这个问题吗?我检查了原型文档上的绑定,这似乎是针对那些情况,但可能没有得到它,因为它对我不起作用.
我的页面不会加载.任何人都可以建议什么是错的?我尝试将文件路径更改为不同的文件,以防出现问题.但他们仍然没有加载.应该发生的是,当用户点击链接时,页面应该加载到div中.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> jquery example</title>
<style>
</style>
</head>
<body>
<a class="menu_top" href="pages/home1.php">Home</a>/
<a class="menu_top" href="portfolio.php">Portfolio</a>/
<a class="menu_top" href="contact.php">Contact</a>
<div id="#content_area"></div>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery_code.js"></script>
</body>
Run Code Online (Sandbox Code Playgroud)
jQuery的
$(document).ready(function() {
$('#content_area').load($('.menu_top:first').attr('href'));
});
$('.menu_top').click(function() {
var href = $(this).attr('href');
alert('clicked');
$('#content_area').hide().load(href).fadeIn('normal');
return false;
});?
Run Code Online (Sandbox Code Playgroud)
当我点击.menu_top元素时,我能够看到警报.但它不会在页面上加载它.我尝试将文件重命名为.html,它仍然不会发生.我在xammp本地主机上运行,这似乎适用于其他一切.我检查了我的控制台是否有错误,它没有返回任何错误.
我刚刚完成了一些以前的ajax教程,他们没有任何问题地加载数据,所以我排除了它与本地主机有关.
我使用开关编译扩展--pack-extension:
C:\Users\APOL0\AppData\Local\Google\Chrome\Application>chrome.exe --pack-extension="D:\MyExt"
Run Code Online (Sandbox Code Playgroud)
一切正常:chrome 生成Myext.crx,Myext.pem但我不知道如何使用 Windows 注册表获取自动安装的扩展 ID。
我怎样才能在不使用“手动验证”的情况下获得这个ID,即。以编程方式?