如果我需要经常使用它,我发现这种选择器格式很麻烦:
$('[name="someElementName"]').val()
我考虑过扩展jQuery,以便我可以使用这样的格式:
$('@someElementName').val()
据我所知,jQuery只是遵循CSS的惯例而且我违反惯例。
关于“@”的选择,我只选择了一个特殊字符,它似乎不适用于选择器,不会产生冲突。如果有人有更好的建议,我愿意接受建议。
我没有选择不将name属性用作选择器的一部分。
我正在考虑使用这样的正则表达式:
selectorString.replace(/\@([\d\w\s\-]*)/g, '[name="$1"]')
从这里开始,我被困在如何扩展jQuery以使用这种正则表达式,以便我可以使用像“$('@ someElementName')这样的代码.val();
答案 0 :(得分:2)
这个怎么样:
(function($) {
$.named = function(name, context) {
context = context || document;
return $(context.getElementsByName(name));
}
})(jQuery);
用法:
$.named('foo').val();