2013-02-28 47 views
0

我確定這可能已經被回答了,但我不太清楚我在問什麼,如果你能指出我會在正確的方向,這將是多少a​​preciated。冷凝jquery編號的功能

OK,所以我有一個函數,它所有,但身份證號碼是一樣的多達30

是有辦法,我可以做到這一點,而不必重複它的30倍

下面的例子

$('ul#grid li#project_001 a').click(function(){ 
$('.colOne').html(ajax_load).load('ajax/project_001.html'); 
}); 

$('ul#grid li#project_002 a').click(function(){ 
$('.colOne').html(ajax_load).load('ajax/project_002.html'); 
}); 

$('ul#grid li#project_003 a').click(function(){ 
$('.colOne').html(ajax_load).load('ajax/project_003.html'); 
}); 

$('ul#grid li#project_004 a').click(function(){ 
$('.colOne').html(ajax_load).load('ajax/project_004.html'); 
}); 

感謝您的幫助球員

+0

您可以修改你的HTML或沒有? – WooCaSh 2013-02-28 23:35:47

回答

1

像這樣的工作:

$('#grid li[id^="project_"] a').click(function() { 
    var id = $(this).closest('li').attr('id'); 

    $('.colOne').html(ajax_load).load('ajax/' + id + '.html'); 
}); 

雖然我會使用類,添加data-屬性那些<li>元素:

<li class="project" data-filename="ajax/project_004.html"> 

,並使用.data()功能:

$('#grid li.project a').click(function() { 
    var filename = $(this).closest('li').data('filename'); 

    $('.colOne').html(ajax_load).load(filename); 
}); 
+0

輝煌的感謝,真的有用的東西生病嘗試了一下,讓你知道我如何得到,謝謝:) – Dubcode 2013-03-01 00:10:04

+0

嘿,你好,謝謝你的幫助,我想我會最終使用傑夫版本,但看看你的知識在行動謝謝 http://danielwakefield.co.uk/test3.html – Dubcode 2013-03-01 01:42:37

1

你想要做的屬性的匹配:

$('ul#grid li[id^="project_"] a').click(function(){ 

    var id = $(this).closest('li').attr('id'); 

    $('.colOne').html(ajax_load).load('ajax/'+id+'.html'); 
}); 

[id^="project_"] s ays has an attribute that starts with "project_"

雖然你會推遲作出一類,然後使用數據屬性來存儲要好一些:

<li class="project" data-projnum="004">... 

JS:

$('ul#grid li.project a').click(function(){ 

    var projnum = $(this).closest('li').data('projnum'); 

    $('.colOne').html(ajax_load).load('ajax/project_' + projnum + '.html'); 
}); 
+0

這兩個輝煌的解決方案,決定在我的具體情況下去攪拌機解決方案,只是因爲它使我可以靈活地命名相應的url我喜歡的任何東西那麼他們會嚴格依賴增加ID,即使傑夫解決方案更清潔一點,但我可以肯定地看到,這兩種方法都非常強大,並且我從這兩種方法中學到了許多東西,非常感謝這麼多人的出色工作 – Dubcode 2013-03-01 00:31:08

+0

您可以接受@ Blender的回答通過點擊旁邊的複選標記 – 2013-03-01 01:02:02