我正在尝试解析类“链接”的内容/值。以下是我使用的代码:
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);
没有输出任何内容。
我在这里做错了吗?任何帮助都非常感谢。
答案 0 :(得分:1)
您需要在代码中使用.text()
或.html()
: -
简单示例: -
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;
注意: - 请在代码中更改以下行。我的代码开始工作: -
var myVar = $(results[0]).find('.links a').text(); //or use .html()