Passing arguments and values from HTML to jQuery (events)
- by Jaroslav Moravec
What is the practice to pass arguments from HTML to jQuery events function.
For example getting id of row from db:
<tr class="jq_killMe" id="thisItemId-id">
...
</tr>
and jQuery:
$(".jq_killMe").click(function () {
var tmp = $(this).attr('id).split("-");
var id = tmp[0]
// ...
}
What's the best practise, if I want to pass more than one argument?
Is it better not to use jQuery? For example:
<tr onclick="killMe('id')">
...
</tr>
I didn't find the answer on my question, I will be glad even for links.
Thanks.
Edit (pre solution)
So you suggested two methods to do that:
Add custom attributes to element (XHTML)
Use attribute ID and parse it by regex
Attribute data-* attributes in HTML5
Use hidden children elements
I like first solution, but... I would like to (I have to (employer)) produce valid code. Here is a nice question and answers:
http://stackoverflow.com/questions/994856/so-what-if-custom-html-attributes-arent-valid-xhtml
And the second is not so pretty as the first, but valid. So the compromise is...
The third is the solution for future, but here is a lot of CMS where we have to use XHTML or HTML4. (And HTML5 is the long process)