使用jquery

时间:2015-05-29 09:59:32

标签: jquery html

我有一个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});
});

4 个答案:

答案 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});
});