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:
So what if custom HTML attributes aren't 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)