获取变量中某些标签的内容
get content of some tags inside a variable
var a = $('#txta').val();
console.log(a);
结果已完成 html 代码来自 this url
现在我想获取所有#artikal-naziv
个标签的内容(共有96个)
var b = a.find("#artikal-naziv").text();
console.log(b);
结果:
Uncaught TypeError: a.find is not a function
有什么帮助吗?
.val()从元素中取出值....而全部DOM操作完成在元素上...因为像 .find() 、 .hide() 、 .show() 、 .closest() 等函数用于元素 而不是值
以下修改应该有效...
var a = $('#txta'); // $("#ID") returns the element
console.log(a.val()); // $("#ID").val() returns the value
结果已完成 html 来自此 URL
的代码
现在我想获取所有#artikal-naziv 标签的内容(共有 96 个)
var b = a.find("#artikal-naziv").text(); // .find() easily works on element
console.log(b);
因为 "a" 不是 jQuery 对象 - 它通常是一个包含返回元素 (txta) 值的字符串。
改用 $(a).find(...)
- 可能就可以了。
参考 link:
实际上您是在 string
而不是 DOM 元素上调用 .find()
。
因为从 $('#txta').val()
你得到一个 string
,这就是你得到 Uncaught TypeError: a.find is not a function
的原因,因为 string
没有 .find()
方法。
您应该将其更改为:
var a = $('#txta');
那你可以这样写:
var b = a.find("#artikal-naziv").text();
注:
Now I want to get content of all #artikal-naziv tags (there are 96)
您不能为多个元素 (96) 设置相同的 id #artikal-naziv
,id
在页面中应该是唯一的。
另一件事.val()
call assumes that your element is a form element, you can't call .val()
on a div
or a span
, if it isn't a form element use .html()
。
根据我从你的描述中得到的信息,你使用 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>
只需使用 .find
即可找到 children 并使用 .closest
即可找到 parents:
<div class='a'>
<div class='b'>
<div class='c'></div>
<div class='c'></div>
<div class='c'></div>
</div>
</div>
js:
var a = $('.b');
a.find('.c'); // Will return all the objects with the class c
a.closest('.a'); // Will return the first parent with the class a
var a = $('#txta').val();
console.log(a);
结果已完成 html 代码来自 this url
现在我想获取所有#artikal-naziv
个标签的内容(共有96个)
var b = a.find("#artikal-naziv").text();
console.log(b);
结果:
Uncaught TypeError: a.find is not a function
有什么帮助吗?
.val()从元素中取出值....而全部DOM操作完成在元素上...因为像 .find() 、 .hide() 、 .show() 、 .closest() 等函数用于元素 而不是值
以下修改应该有效...
var a = $('#txta'); // $("#ID") returns the element
console.log(a.val()); // $("#ID").val() returns the value
结果已完成 html 来自此 URL
的代码现在我想获取所有#artikal-naziv 标签的内容(共有 96 个)
var b = a.find("#artikal-naziv").text(); // .find() easily works on element
console.log(b);
因为 "a" 不是 jQuery 对象 - 它通常是一个包含返回元素 (txta) 值的字符串。
改用 $(a).find(...)
- 可能就可以了。
参考 link:
实际上您是在 string
而不是 DOM 元素上调用 .find()
。
因为从 $('#txta').val()
你得到一个 string
,这就是你得到 Uncaught TypeError: a.find is not a function
的原因,因为 string
没有 .find()
方法。
您应该将其更改为:
var a = $('#txta');
那你可以这样写:
var b = a.find("#artikal-naziv").text();
注:
Now I want to get content of all #artikal-naziv tags (there are 96)
您不能为多个元素 (96) 设置相同的 id #artikal-naziv
,id
在页面中应该是唯一的。
另一件事.val()
call assumes that your element is a form element, you can't call .val()
on a div
or a span
, if it isn't a form element use .html()
。
根据我从你的描述中得到的信息,你使用 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>
只需使用 .find
即可找到 children 并使用 .closest
即可找到 parents:
<div class='a'>
<div class='b'>
<div class='c'></div>
<div class='c'></div>
<div class='c'></div>
</div>
</div>
js:
var a = $('.b');
a.find('.c'); // Will return all the objects with the class c
a.closest('.a'); // Will return the first parent with the class a