2012-10-25 152 views
0

非常簡單,但我做錯了什麼。我想在這裏做一個乾淨的鏈條,而不是聲明VAR然後連接它:jQuery鏈接創建連接字符串

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()無效這裏,什麼是正確的?

+0

你期望的結果是什麼,爲什麼你想要方法鏈來做字符串連接? –

+0

僅供參考,沒有「jQuery鏈接」之類的東西。鏈接就是根據以前調用返回的值立即調用方法的能力。 –

+0

@ user1689607這只是挑剔。你正在使用jQuery對象,所以你可以稱它爲jQuery鏈接... – Christoph

回答

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 
+0

回想起來很明顯。免費積分! :D – Brian

+0

@Brian有時最明顯的是我們忽略了:P –

0

我真的不知道你想完成什麼,但這裏有一些注意事項:

  • 可以使用.data()方法獲取數據屬性
  • 您無法在.attr()上使用.html(),您需要使用 上的html()$(selector)

所以,基本上,你可以這樣做:

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

0

我不知道結果是什麼,你想要的,但如果你真的想方法鏈,你可以鏈本土.concat()方法的字符串。

​​

或者單獨.concat()電話,如果你真的喜歡的鏈接。

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