25182


HTML

[code]

    <ul id="list">
        <li id="meta">hoge<span id="opt">huga</span></li>
        ...
    <ul>
    
[/code]

というテーブルから"hoge"だけをjQueryを使用し取得した後、値を書き換えたいです。  
ご教授願えますでしょうか。


CC BY-SA 3.0
2016-05-25T14:47:04.627
25170
2016-05-26T02:07:31.610
15638
question
javascript html jquery
jQueryで指定された値を取得し書き換えたい

[code]

    $("#list #meta")[0].innerHTML="hara"+$("#list #meta #opt")[0].outerHTML
    
[/code]

"hoge"から"hara"に書き換えなります


CC BY-SA 3.0
2016-05-26T00:55:58.723
25178
2016-05-26T00:55:58.723
14019
25170
answer


jQueryのAPIだけでテキストノードを書き換えることはできないみたいですが、`contents()`で、テキストノードを含めた子要素を取得し、テキストノードオブジェクトの`nodeValue`プロパティを弄れば、一応できそうです。

[code]

    $('#meta').contents()[0].nodeValue = "ABC";
    
[/code]

絞り込むならこんな感じで。

[code]

    $('#meta').contents().filter(function (){ return this.nodeType === 3; })[0].nodeValue = 'ABC';
    
[/code]


CC BY-SA 3.0
2016-05-26T02:07:31.610
25182
2016-05-26T02:07:31.610
8078
25170
answer