У меня есть некоторые проблемы с моим кодом и с тем, как заставить его работать. Я борюсь с jquery, чтобы получить текст, который находится внутри <a> </a>. В настоящее время приведенный ниже код просто возвращает мне [объект Object], может ли кто-нибудь указать мне правильное направление.
<div id = "conData" style = "float:left; margin-left:10px;">
<a id = "ID" style = "border-bottom:solid 1px grey;">24</a><br>
<a id = "UN" style = "border-bottom:solid 1px grey;">joe b</a><br>
<a id = "RO" style = "border-bottom:solid 1px grey;">email</a><br>
<a id = "CO" style = "border-bottom:solid 1px grey;">6:00pm</a><br>
<a id = "DT" style = "border-bottom:solid 1px grey;">UK</a><br>
<a id = "LC" style = "border-bottom:solid 1px grey;">Jquery</a><br>
</div>
<button type = "button" role = "submit" id = "ConfirmCourse">Confirm Course</button>
<script>
$(document).on('click', '#ConfirmCourse', function() {
var DataText = $('#conData').contents()
.filter(function(){
return this.nodeType === 3;})
.wrap("<a></a>")
.end();
.filter( "br" )
.remove();
console.info(DataText);
</script>
edit: я изменил код на console.info(DataText);, который дает результат, ниже которого я не могу понять.
[object Object]
{
[functions]: ,
0: {
[functions]: ,
__proto__: { },
ATTRIBUTE_NODE: 2,
attributes: null,
CDATA_SECTION_NODE: 4,
childNodes: { },
COMMENT_NODE: 8,
constructor: { },
data: "
",
DOCUMENT_FRAGMENT_NODE: 11,
DOCUMENT_NODE: 9,
DOCUMENT_POSITION_CONTAINED_BY: 16,
DOCUMENT_POSITION_CONTAINS: 8,
DOCUMENT_POSITION_DISCONNECTED: 1,
DOCUMENT_POSITION_FOLLOWING: 4,
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32,
DOCUMENT_POSITION_PRECEDING: 2,
DOCUMENT_TYPE_NODE: 10,
ELEMENT_NODE: 1,
ENTITY_NODE: 6,
ENTITY_REFERENCE_NODE: 5,
firstChild: null,
lastChild: null,
length: 5,
localName: null,
namespaceURI: null,
nextSibling: null,
nodeName: "#text",
nodeType: 3,
nodeValue: "
",
NOTATION_NODE: 12,
ownerDocument: { },
parentNode: { },
prefix: null,
previousSibling: null,
PROCESSING_INSTRUCTION_NODE: 7,
TEXT_NODE: 3,
textContent: "
",
wholeText: "
"
},
1: { },
2: { },
3: { },
4: { },
5: { },
6: { },
7: { },
8: { },
9: { },
10: {
[functions]: ,
__proto__: { },
accessKey: "",
ATTRIBUTE_NODE: 2,
attributes: { },
canHaveChildren: true,
canHaveHTML: true,
CDATA_SECTION_NODE: 4,
charset: "",
childElementCount: 0,
childNodes: { },
children: { },
classList: { },
className: "",
clientHeight: 0,
clientLeft: 0,
clientTop: 0,
clientWidth: 0,
COMMENT_NODE: 8,
constructor: { },
contentEditable: "inherit",
coords: "",
currentStyle: { },
dataset: { },
dir: "",
disabled: false,
DOCUMENT_FRAGMENT_NODE: 11,
DOCUMENT_NODE: 9,
DOCUMENT_POSITION_CONTAINED_BY: 16,
DOCUMENT_POSITION_CONTAINS: 8,
DOCUMENT_POSITION_DISCONNECTED: 1,
DOCUMENT_POSITION_FOLLOWING: 4,
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32,
DOCUMENT_POSITION_PRECEDING: 2,
DOCUMENT_TYPE_NODE: 10,
draggable: true,
ELEMENT_NODE: 1,
ENTITY_NODE: 6,
ENTITY_REFERENCE_NODE: 5,
firstChild: { },
firstElementChild: null,
hash: "",
hidden: false,
hideFocus: false,
host: "",
hostname: "",
href: "",
hreflang: "",
id: "CO",
innerHTML: " ArchGis",
innerText: " ArchGis",
isContentEditable: false,
isDisabled: false,
isMultiLine: true,
isTextEdit: false,
lang: "",
language: "",
lastChild: { },
lastElementChild: null,
localName: "a",
Methods: "",
mimeType: "",
msContentZoomFactor: 1,
msRegionOverflow: "undefined",
name: "",
nameProp: "",
namespaceURI: "http://www.w3.org/1999/xhtml",
nextElementSibling: { },
nextSibling: { },
nodeName: "A",
nodeType: 1,
nodeValue: null,
NOTATION_NODE: 12,
offsetHeight: 22,
offsetLeft: 157,
offsetParent: { },
offsetTop: 214,
offsetWidth: 54,
onabort: null,
onactivate: null,
onbeforeactivate: null,
onbeforecopy: null,
onbeforecut: null,
onbeforedeactivate: null,
onbeforepaste: null,
onblur: null,
oncanplay: null,
oncanplaythrough: null,
onchange: null,
onclick: null,
oncontextmenu: null,
oncopy: null,
oncuechange: null,
oncut: null,
ondblclick: null,
ondeactivate: null,
ondrag: null,
ondragend: null,
ondragenter: null,
ondragleave: null,
ondragover: null,
ondragstart: null,
ondrop: null,
ondurationchange: null,
onemptied: null,
onended: null,
onerror: null,
onfocus: null,
onfocusin: null,
onfocusout: null,
ongotpointercapture: null,
onhelp: null,
oninput: null,
onkeydown: null,
onkeypress: null,
onkeyup: null,
onload: null,
onloadeddata: null,
onloadedmetadata: null,
onloadstart: null,
onlostpointercapture: null,
onmousedown: null,
onmouseenter: null,
onmouseleave: null,
onmousemove: null,
onmouseout: null,
onmouseover: null,
onmouseup: null,
onmousewheel: null,
onmscontentzoom: null,
onmsgesturechange: null,
onmsgesturedoubletap: null,
onmsgestureend: null,
onmsgesturehold: null,
onmsgesturestart: null,
onmsgesturetap: null,
onmsgotpointercapture: null,
onmsinertiastart: null,
onmslostpointercapture: null,
onmsmanipulationstatechanged: null,
onmspointercancel: null,
onmspointerdown: null,
onmspointerenter: null,
onmspointerleave: null,
onmspointermove: null,
onmspointerout: null,
onmspointerover: null,
onmspointerup: null,
onpaste: null,
onpause: null,
onplay: null,
onplaying: null,
onpointercancel: null,
onpointerdown: null,
onpointerenter: null,
onpointerleave: null,
onpointermove: null,
onpointerout: null,
onpointerover: null,
onpointerup: null,
onprogress: null,
onratechange: null,
onreset: null,
onscroll: null,
onseeked: null,
onseeking: null,
onselect: null,
onselectstart: null,
onstalled: null,
onsubmit: null,
onsuspend: null,
ontimeupdate: null,
onvolumechange: null,
onwaiting: null,
outerHTML: "<a id = "CO" style = "border-bottom-color: grey; border-bottom-width: 1px; border-bottom-style: solid;"> ArchGis</a>",
outerText: " ArchGis",
ownerDocument: { },
parentElement: { },
parentNode: { },
parentTextEdit: { },
pathname: "",
port: "",
prefix: null,
previousElementSibling: { },
previousSibling: { },
PROCESSING_INSTRUCTION_NODE: 7,
protocol: "",
protocolLong: "",
recordNumber: null,
rel: "",
rev: "",
runtimeStyle: { },
scrollHeight: 22,
scrollLeft: 0,
scrollTop: 0,
scrollWidth: 54,
search: "",
shape: "rect",
sourceIndex: 1187,
spellcheck: true,
style: { },
tabIndex: 0,
tagName: "A",
target: "",
text: " ArchGis",
TEXT_NODE: 3,
textContent: " ArchGis",
title: "",
type: "",
uniqueID: "ms__id148014",
uniqueNumber: 148014,
urn: ""
},
11: { },
12: { },
13: { },
14: { },
15: { },
16: { },
17: { },
18: {
[functions]: ,
__proto__: { },
ATTRIBUTE_NODE: 2,
attributes: null,
CDATA_SECTION_NODE: 4,
childNodes: { },
COMMENT_NODE: 8,
constructor: { },
data: "
",
DOCUMENT_FRAGMENT_NODE: 11,
DOCUMENT_NODE: 9,
DOCUMENT_POSITION_CONTAINED_BY: 16,
DOCUMENT_POSITION_CONTAINS: 8,
DOCUMENT_POSITION_DISCONNECTED: 1,
DOCUMENT_POSITION_FOLLOWING: 4,
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32,
DOCUMENT_POSITION_PRECEDING: 2,
DOCUMENT_TYPE_NODE: 10,
ELEMENT_NODE: 1,
ENTITY_NODE: 6,
ENTITY_REFERENCE_NODE: 5,
firstChild: null,
lastChild: null,
length: 10,
localName: null,
namespaceURI: null,
nextSibling: null,
nodeName: "#text",
nodeType: 3,
nodeValue: "
",
NOTATION_NODE: 12,
ownerDocument: { },
parentNode: { },
prefix: null,
previousSibling: null,
PROCESSING_INSTRUCTION_NODE: 7,
TEXT_NODE: 3,
textContent: "
",
wholeText: "
"
},
__proto__: {
[functions]: ,
__proto__: { },
jquery: "3.3.1",
length: 0
},
jquery: "3.3.1",
length: 19,
prevObject: { }
}
Потому что это объект. Что вы ожидаете?
Да, приведите минимальный пример. Но на первый взгляд кажется, что «DataText» имеет в себе фактический элемент привязки, и вам нужен innerText этого элемента. Выгрузите DataText в консоль отладки, чтобы увидеть, что это за объект на самом деле.
Постарайтесь не предупреждать об этом.
Alert неявно вызывает toString для аргумента вызова. toString.call({}) === "[object Object]".
Кроме того, в вашем случае DataText будет коллекцией jQuery, содержащей тег прерывания, который вы удалили.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как и в случае с документы jQuery, remove() возвращает объект jQuery. Это то, что вызывает ошибку [object Object].
В зависимости от того, что вы хотите
Получить содержимое якорей в массиве:
var data = {};
$('#conData a').each(function () {
data[$(this).attr('id')] = $(this).text();
});
Вернет следующее
{
ID: 24,
UN: joe b
RO: email
...
}
Кстати: не нужно использовать filter и remove, в вашем контенте есть элементы nu <br />.
Спасибо, это было действительно полезно и отлично сработало, как бы я попытался преобразовать это в массив? предпочтительно [[ID, 24], [UN, job b], [RO, email]]
Еще раз спасибо за вашу помощь. Теперь мне удалось преобразовать объект в массив с помощью var data = '......' var result = Object.keys(data).map(function(key) { return [String(key), data[key]]; }); console.info(result);.
Внутри вашего слушателя вы можете просто сделать:
document.querySelectorAll('a').forEach(function(text){
console.info(text.innerHTML);
});
(Вам не нужен jQuery)
Пожалуйста, подумайте о том, чтобы предоставить Минимальный, полный и проверяемый пример, если это возможно. Таким образом, более вероятно, что добровольцы из SO смогут вам помочь. Опубликованный вами код не запускается.