HTML选择器上没有.val()的输出

时间:2017-03-10 07:55:51

标签: javascript jquery

我正在尝试解析类“链接”的内容/值。以下是我使用的代码:

function modifyDOM() {
    return document.body.innerHTML;
}

function getAnswers() {
    chrome.tabs.executeScript({
        code: '(' + modifyDOM + ')();'
    }, (results) => {
        var myVar = $(results[0]).find('.links').val();
        return console.log(myVar);
    });
}

results[0]包含以下示例:

<div class="flex-center position-ref full-height">
    <div class="content">
        <div class="title m-b-md">Title</div>
        <input type="hidden" name="_token" value="eJUTXXLfSGs5UsIwpWPcQxthzqN7nt5F0XdRZEoG">
        <div class="links">
            <a href="#">Test 1</a>
            <a href="#">Test 2</a>
            <a href="#">Test 3</a>
        </div>
    </div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://test.com/js/app.js"></script>

问题是console.log(myVar);没有输出任何内容。

我在这里做错了吗?任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要在代码中使用.text().html(): -

简单示例: -

&#13;
&#13;
var answers = [];
$('.links a').each(function(){
   answers.push($(this).text()); // can use .html() also
  
});
 console.log(answers);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="flex-center position-ref full-height">
    <div class="content">
        <div class="title m-b-md">Title</div>
        <input type="hidden" name="_token" value="eJUTXXLfSGs5UsIwpWPcQxthzqN7nt5F0XdRZEoG">
        <div class="links">
            <a href="#">Test 1</a>
            <a href="#">Test 2</a>
            <a href="#">Test 3</a>
        </div>
    </div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://test.com/js/app.js"></script>
&#13;
&#13;
&#13;

注意: - 请在代码中更改以下行。我的代码开始工作: -

var myVar = $(results[0]).find('.links a').text(); //or use .html()