有没有办法可以使用class =“company Name”将所有div的所有内部html都包含在内。
请指导我正确的方向。
修改
我可以在Chrome控制台中使用它来从网页中获取信息吗?
答案 0 :(得分:5)
请不要使用jquery。使用普通的“javascript”非常容易。
var x = document.querySelectorAll("[class='company Name']");
for (var i=0;i<x.length;i++) {
//grab x[i].innerHTML (or textContent or innerText)
}
答案 1 :(得分:2)
选项1 - 单行
var innerHTMLs = Array.prototype.slice.call( document.getElementsByClassName( 'company_name' ) ).map( function( x ){ return x.innerHTML } );
console.log( innerHTMLs );
选项2 - 稍微冗长。
var elements = document.getElementsByClassName( 'company_name' ),
innerHTMLs = [];
for ( var i = 0; i < elements.length; ++i )
innerHTMLs.push( elements[i].innerHTML );
console.log( innerHTMLs );
选项3 - 也适用于旧浏览器(IE8及更早版本)。
var innerHTMLs = [],
elements = document.getElementsByTagName( '*' ),
classToMatch = 'bob';
for ( var i = 0; i < elements.length; ++i )
{
if ( ( ' ' + elements[i].className + ' ' ).indexOf( ' ' + classToMatch + ' ' ) != -1 )
innerHTMLs.push( elements[i].innerHTML );
}
console.log( innerHTMLs );
答案 2 :(得分:1)
你可能想从这开始:
var elements = document.getElementsByClassName('company name');
然后元素将是所有div的数组。 然后使用'for in'迭代它们并为每个输出内部html。也许是这样的:
var allInnerHTML = '';
for (index in elements)
{
var element = elements[index];
allInnerHTML = allInnerHTML + element.innerHTML;
}
不确定你想要做什么,但希望这会有所帮助。
答案 3 :(得分:1)
您可以使用以下方法从包含class="company Name"
的元素中获取innerText
数组:
Array.from(document.getElementsByClassName('company Name'), e => e.innerText)
答案 4 :(得分:0)
您可以使用jQuery将所有字符串存储在数组中:
var strings = [];
$('.yourclass').each(function(){
strings.push( $(this).text() );
});