我有一个id为try的select标签。我需要设置每个选项标签的标题及其文本。如何做...下面是我试过的代码..
<select multiple="multiple" id="try">
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
jquery的:
$("#try option").each(function(name, val) {
var opt=val.text;
$(this).attr({"title":opt});
});
答案 0 :(得分:3)
您不需要each()
,jQuery方法会自动执行此操作;所以我建议:
$('#try option').prop('title', function(){
return this.text;
});
$('#try option').prop('title', function() {
return this.text;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select multiple="multiple" id="try">
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
或者,简而言之,JavaScript:
// using Function.prototype.call() to iterate over
// the Array-like NodeList returned from
// Array.prototype.forEach():
Array.prototype.forEach.call(document.querySelectorAll('#try option'), function(optionEl) {
// setting the title property to the value of the text property:
optionEl.title = optionEl.text;
});
Array.prototype.forEach.call(document.querySelectorAll('#try option'), function(optionEl) {
optionEl.title = optionEl.text;
});
<select multiple="multiple" id="try">
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
参考文献:
答案 1 :(得分:0)
关闭,但不是
$(this).attr({"title":opt});
DO
$(this).attr("title",opt);
(没有花括号和:
)
$("#try option").each(function(name, val) { var opt=val.text;
console.log(opt);
$(this).attr("title",opt);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<select multiple="multiple" id="try">
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
答案 2 :(得分:0)
要获取当前选项的文本,请使用text
:
$("#try option").each(function() {
$(this).attr("title", $(this).text());
});
答案 3 :(得分:0)
您的代码是否正确,您确定要在代码上添加标题标记吗?
这里有一个代码:http://jsfiddle.net/jcopreaj/
$("#try option").each(function(name, val) {
var opt=val.text;
$(this).attr({"title":opt});
});