How can I determine the element type of a matched element in jQuery?
Solution 1:
Just one jQuery too much:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert(this.tagName);
});
Solution 2:
Consider this solution without using each():
var elements = $("[id$=" + endOfIdToMatch + "]");
var vals = elements.is("input").val();
var htmls = elements.is("label").html();
var contents = vals.concat(htmls);
Have a look at the documentation for is.
Solution 3:
you could also use something like this:
if ($(this).is('input:checkbox'))
replace "this" with whatever instance you need and 'checkbox' with whatever input type you need.
Solution 4:
First time I've answered my own question. After a little more experimentation:
$("[id$=" + endOfIdToMatch + "]").each(function () {
alert($(this).attr(tagName));
});
works!
Solution 5:
tagName what a nice tip. I would like to suggest also to use tagName.toLowerCase() since the value returned depends on the document type (HTML or XML/XHTML).
See: http://reference.sitepoint.com/javascript/Element/tagName