当我使用jQuery处理HTML表单元素时,总是会出现jQuery语法和纯JavaScript混合的丑陋代码,例如:
function doStuff($combo){
if( $combo.get(0).options[$combo.get(0).selectedIndex].value=="" ){
var txt = "";
}else{
var txt = $combo.get(0).options[$combo.get(0).selectedIndex].text;
}
var $description = $combo.closest("div.item").find("input[name$=\[description\]]");
$description.val(txt);
}
是否有标准的jQuery方法来处理像
<select>
、<input type="radio">
和<input type="checkbox">
这样的元素?所谓“典型”,是指诸如读取组中选定的单选按钮的值或替换选择列表中的元素之类的操作。我在文档中没有找到它们,但我承认方法重载可能使文档浏览器变得有点棘手。更新
谢谢大家。一旦找到正确的轨迹,我就自己解决了其他问题。例如,我可以像处理任何其他DOM树一样处理
<select>
列表。$("select")
.empty()
.append('<option value="">(Pick one)</option><option value="a">Option A</option><option value="b">Option B</option>');
$
视为 jQuery 专属标签的概念与其他语言分开。作为 PHP 程序员,你会认为这是自然而然的事情。 - dclowd9901