获取变量中某些标签的内容

时间:2017-11-08 13:00:32

标签: javascript jquery html

var a = $('#txta').val();
console.log(a);  

结果是来自this url

的完整html代码

现在我想获取所有#artikal-naziv标签的内容(有96个)

var b = a.find("#artikal-naziv").text();
console.log(b);

结果:

Uncaught TypeError: a.find is not a function

任何帮助?

5 个答案:

答案 0 :(得分:4)

实际上,您尝试在.find()上调用string,而不是在DOM元素中调用。

因为从$('#txta').val()获得了string,这就是Uncaught TypeError: a.find is not a function的原因,因为string没有.find()方法。

您应将其更改为:

var a = $('#txta');

然后你可以写:

var b = a.find("#artikal-naziv").text();

注意:

  

现在我想获得所有#artikal-naziv标签的内容(有96个)

您无法为多个元素设置相同的ID #artikal-naziv(96),id在页面中应该是唯一的。

另一件事 .val() 调用假设您的元素是表单元素,您无法在.val()或{{1}上调用div },如果它不是表单元素,请使用 .html()

答案 1 :(得分:3)

根据我的描述,您可以使用var a = $('#txta').val();将HTML作为字符串。如果是这样,则必须创建内存中元素并将此字符串设置为HTML。

然后你将有一个你可以查询的内存中的DOM部分。

您可以尝试这样的事情:

var html = '<span><p id="artikal-naziv">bla bla</p></span>';

var $tempElement = $('<div>').html(html);
console.log($tempElement.find('#artikal-naziv').text());
// or using vanilla JS

var tempElement = document.createElement('div');
tempElement.innerHTML = html;

console.log(tempElement.querySelector('#artikal-naziv').textContent);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

答案 2 :(得分:2)

.val()从元素中取出值.... 然后所有DOM操作都在元素上完成...因为.find之类的函数( ),。hide(),. show(),. closest()等与元素一起使用而不是值

以下修改应该有效......

var a = $('#txta'); // $("#ID") returns the element
console.log(a.val()); // $("#ID").val() returns the value

结果是来自此网址的完整HTML代码

现在我想获得所有#artikal-naziv标签的内容(有96个)

var b = a.find("#artikal-naziv").text(); // .find() easily works on element
console.log(b);

答案 3 :(得分:2)

因为&#34; a&#34;不是jQuery对象 - 它通常是一个包含返回元素(txta)值的字符串。

使用HELD代替 - 可能会这样做。

参考链接:https://stackoverflow.com/a/3532381/3704489

答案 4 :(得分:2)

只需使用.find找到孩子,然后使用.closest找到父母 &lt; div class =&#39; a&#39;&gt;     &lt; div class =&#39; b&#39;&gt;         &lt; div class =&#39; c&#39;&gt;&lt; / div&gt;         &lt; div class =&#39; c&#39;&gt;&lt; / div&gt;         &lt; div class =&#39; c&#39;&gt;&lt; / div&gt;     &LT; / DIV&GT; &LT; / DIV&GT; JS: var a = $(&#39; .b&#39;); a.find(&#39; .C&#39); //将返回类c的所有对象 a.closest(&#39; .A&#39); //将返回类a的第一个父级