我正在开发一个项目,我有一个select标签,其选项是在javascript函数中生成的。我目前正在填写每个选项的“标题”属性,并附有详细说明 在javascript函数内部,我目前正在做这样的事情:
var country = new Option("countryUSA", "United States of America");
$("#mySelect").get(0).options[1]=country;
这很好用,选项显示出来。但是,我还需要设置该html选项元素的“title”属性。我尝试过这样的事情:
country.title="Full description of USA";
但它不起作用。
我知道我可以这样做:
$("#mySelect").get(0).options[1].title="My title";
但是我在将选项添加到select标签之前尝试设置标题。是不是“Option”对象假设允许我设置“title”属性? javascript函数甚至没有执行。我无法在javascript中为“option”html元素设置“title”属性吗?
答案 0 :(得分:7)
看起来你正在使用jQuery。有一种更简单的方法可以做你想要的。只需使用the jQuery API而不是回归到vanilla DOM:
$('<option>',
{
value: 'countryUSA',
title: 'Full description of USA',
text: 'United States of America'
}).appendTo("#mySelect");
也就是说,您是否希望设置title
以便在将鼠标悬停在<option>
上时显示浏览器原生工具提示?至少在Chrome中,不会出现此类工具提示。
亲自尝试:http://jsfiddle.net/GMTLn/1/
修改 Chrome和Safari不会在<option>
上显示具有title
属性的工具提示,因为WebKit不会。请参阅this bug report。
答案 1 :(得分:1)
您可以设置标题属性
$('#mySelect').append(
$("<option/>", { text: value }).attr("title",value));
以下是工作示例http://jsbin.com/ozudoTod/1/
或者这样:
value = cleanNulls( value );
var option = $( '<option/>', {
title: value,
text: value
});
$('#mySelect').append( option );