jQuery链接创建连接字符串

时间:2012-10-25 19:16:13

标签: javascript jquery optimization syntax chaining

很简单,但我做错了。我想在这里做一个漂亮的干净链,而不是声明一个var然后连接它:

the_function( null, null, 
   $( this ) // START string I'm passing as a parameter
   .attr( 'data-href' )
   .html( '|foo:' + event.var ) 
); // END string I'm passing as a parameter

我意识到.html()在这里无效,什么是正确的?

3 个答案:

答案 0 :(得分:3)

咦?你的意思是做这样的事吗

the_function( null, null, 
   $( this ) // START string I'm passing as a parameter
   .attr( 'data-href' ) +  '|foo:' + event.var); 

你有什么

$( this ).attr( 'data-href' ) // returns a string.. it doesn't have a html method

答案 1 :(得分:0)

我不确定你想要完成什么,但这里有一些注意事项:

  • 您可以将.data()方法用于data- attribute
  • 你不能在.attr()上使用.html(),你需要使用html() $(选择器)

所以,基本上,你可以使用它:

$(this).html('|foo:' + event.var).data('href')

答案 2 :(得分:0)

我不确定你想要的结果是什么,但如果你真的想要方法链接,你可以将原生的.concat()方法链接到字符串。

the_function( null, null, 
   $( this ).attr( 'data-href' )
            .concat('|foo:', event.var) 
);

如果您真的在挖掘链接,请分开.concat()次来电。

the_function( null, null, 
   $( this ).attr( 'data-href' )
            .concat('|foo:')
            .concat(event.var) 
);