是否有一种方法可以抓住选项标签之间的内容?

时间:2018-08-02 20:12:34

标签: javascript html

让我们说我有一个选择,里面有一些选择。

<select>
  <option value = 1>dog</option>
  <option value = 2>cat</option>
  <option value = 3>bird</option>
</select>

如果我们的值不同,是否有办法抓住选项标签之间的内容?例如如何抓“狗”。 “猫”或“鸟”

编辑:更多描述

5 个答案:

答案 0 :(得分:0)

选择元素,然后随心所欲

document.querySelectorAll('select option').forEach(e =>
  console.log(`found option with value: ${e.value} and innerText: ${e.innerText}`)
)
<select>
  <option value=1>dog</option>
  <option value=2>cat</option>
  <option value=3>bird</option>
</select>

答案 1 :(得分:0)

通过将text用作通缉标签,您可以从所有<option>标签中获得document.getElementsByTagName

Array.prototype.forEach.call(
    document.getElementsByTagName('option'), 
    e => console.log(e.text)
);
<select>
  <option value = 1>dog</option>
  <option value = 2>cat</option>
  <option value = 3>bird</option>
</select>

答案 2 :(得分:0)

您可以通过以下方式使用jQuery在option标记内获取文本:$("select option").text()-这将返回列表['dog','cat','bird']

p.s如果要使用特定值进行过滤,请使用:$("select option[value='1']").text()

答案 3 :(得分:0)

因为喜欢它而使用了jQuery

$(document).ready(function(){
  $('#dropdown').on('change',function(){   
    alert($(this).val() + $(this).find(':selected').text());      
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dropdown">
  <option value = 1>dog</option>
  <option value = 2>cat</option>
  <option value = 3>bird</option>
</select>

答案 4 :(得分:0)

使用javascript,获取所选选项的文本:

 <select onchange="getTextVal(this)">
 <option value = 1>dog</option>
 <option value = 2>cat</option>
 <option value = 3>bird</option>
 </select>

还有javascript:

function getTextVal(e){
  console.log(e.options[e.selectedIndex].text);
  }

JsFiddle