javascript - js改變href - text html jquery




jQuery獲取特定的選項標籤文本 (13)

  1. 如果在頁面上只有一個選擇標籤,那麼你可以指定id'list'

    jQuery("select option[value=2]").text();
    
  2. 獲取選定的文本

    jQuery("select option:selected").text();
    

好吧,說我有這個:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

當我的值為'2'時,如果我想獲得“選項B”,選擇器會是什麼樣子?

請注意,這不是要求如何獲取選定的文本值,而只是其中的任何一個,無論是否選擇,取決於值屬性。 我試過了:

$("#list[value='2']").text();

但它不起作用。


作為替代解決方案,您還可以使用jQuery選擇器上下文部分在下拉列表中找到value="2" <option>元素:

$("option[value='2']", "#list").text();

使用:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});

嘗試以下操作:

$("#list option[value=2]").text();

您的原始代碼片段無法正常工作的原因是您的OPTION標記是您的SELECT標記的子代,它具有id list


如果您想獲得值為2的選項,請使用

$("#list option[value='2']").text();

如果您想獲取當前選擇的選項,請使用

$("#list option:selected").text();

它正在尋找具有屬性value等於2的id list的元素。您想要的是listoptionoption

$("#list option[value='2']").text()

我想獲得選定的標籤。 這在jQuery 1.5.1中適用於我。

$("#list :selected").text();

我想要一個動態版本的選擇多個,將顯示什麼被選中的權利(希望我讀過,看到$(this).find ...更早):

<script type="text/javascript">
    $(document).ready(function(){
        $("select[showChoices]").each(function(){
            $(this).after("<span id='spn"+$(this).attr('id')+"' style='border:1px solid black;width:100px;float:left;white-space:nowrap;'>&nbsp;</span>");
            doShowSelected($(this).attr('id'));//shows initial selections
        }).change(function(){
            doShowSelected($(this).attr('id'));//as user makes new selections
        });
    });
    function doShowSelected(inId){
        var aryVals=$("#"+inId).val();
        var selText="";
        for(var i=0; i<aryVals.length; i++){
            var o="#"+inId+" option[value='"+aryVals[i]+"']";
            selText+=$(o).text()+"<br>";
        }
        $("#spn"+inId).html(selText);
    }
</script>
<select style="float:left;" multiple="true" id="mySelect" name="mySelect" showChoices="true">
    <option selected="selected" value=1>opt 1</option>
    <option selected="selected" value=2>opt 2</option>
    <option value=3>opt 3</option>
    <option value=4>opt 4</option>
</select>

我需要這個答案,因為我正在處理一個動態轉換的對象,而這裡的其他方法似乎不工作:

element.options[element.selectedIndex].text

這當然使用DOM對象,而不是使用nodeValue,childNodes等解析其HTML。



這是一個古老的問題,在一段時間內還沒有更新,現在正確的做法是使用

$("#action").on('change',function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

我希望這有幫助 :-)


$("#list [value='2']").text();

id選擇器後留下一個空格。


$(this).children(":selected").text()






jquery-selectors