2011-11-04 38 views
1

我在学习JQuery,并且在类似于此的存储库中的其中一个插件中偶然发现了此脚本。JQuery将值传递给带冒号的函数

var DOMChange = { 

    textchange: function(eID) { 
     $('document').ready(function() { 
      $('eID').text("test3"); 
     }); 
    } 
} 

DOMChange.textchange('p'); 

我似乎无法得到这个工作。这里有什么缺失吗?

谢谢。

+0

但是,您希望发生什么? – Strelok

+0

这应该是'$(document).ready(...' - 没有引用'document'的引号吗?如果不是这样,那么你将不得不给我们提供更多关于这个问题的信息。 – Lee

+0

我们需要更多的信息。发表的代码似乎与您的主题问题没有关系... – Yamiko

回答

1

试试这个:

var DOMChange = { 

    textchange: function(eID) { 
     $(document).ready(function() { 
      $(eID).text("test3"); 
     }); 
    } 
} 
+0

谢谢。如果没关系,任何人都可以告诉我关于”textchange:“中的冒号以及它有什么其他用途? –

+0

在你的代码中,'DOMChange = {}'将它声明为一个对象,'textchange:function(){}'声明了一个名为'textchange'的对象的属性,它的值是你声明的函数。属性如你想要的一样,属性定义的语法是带有col的'propertyName:value'介于propertyName和value之间。如果你定义了多个属性,你可以用逗号分隔它们。 – jfriend00

+0

谢谢。试图在谷歌中找到答案。无法找到明确的答案。这个怎么样,这是可能的>> $(文件)。就绪( \t \t VAR DOME = { \t \t ChangeText:\t功能(DE){ \t \t $(DE)的.text( “d” ); \t} \t \t \t} \t \t DOME.ChangeText( “#SideMenu丽”) ); –

0

只是对之前的响应你的问题是构建jQuery的对象扩大,你在引号包裹的eID。 $('eID') - 至少在语法上 - 试图找到所有类型为'eID'的元素......它不存在。 $(eID)将采用您传递给textchange的值/参数。你正在做同样的$(文档) - 应该是$(文档)

我会补充说$(eID)将只在eID是DOM元素/对象或元素类型时才起作用。如果eID是一个表示元素ID的字符串,则需要使您的选择如下所示:$('#'+ eID)

+0

非常感谢大拇指。 –