gpt4 book ai didi

javascript - 从类找到的元素中获取元素类型

转载 作者:行者123 更新时间:2023-11-28 13:33:48 28 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数将获取具有特定类(textarea,span,...等等)的任何类型的任何元素的“值”

为此,我需要测试我当前正在处理的元素类型,我可以使用 alert($('#gdocDump').prop('tagName')); 轻松完成此操作但由于某种原因,如果我使用 var varElems=$(".feedback"); 获取同一类的所有元素并尝试循环遍历它们,测试每一个,例如 var elementType = elem.prop('tagName'); ,我收到错误“TypeError:elem.prop不是函数”

  1. 为什么会发生这种情况?
  2. 显然,元素存储在创建的 jQuery 对象中$(".feedback") 与查看每个不太一样单独?
  3. 我需要更改什么 var elementType =
    elem.prop('tagName');
    下面能正常工作吗?

jsFiddle: Testing Ground

HTML

<textarea id="gdocDump" class="feedback area" rows="1" cols="22" ></textarea><br />
<input id="scaleSlider" class="feedback" type="range"value="1" min="1" max="9" step="1"/><br />
<span id="command1" class="feedback">This is a span</span><br />
<span id="command2" class="feedback">This is a span</span><br /><br />
<input type="button" id="sendFeedback" value="Feedback"/><br /><br /><br /><br />
<input type="button" id="test" value="Test a specific element"/>

Javascript:

$("#sendFeedback").click(function() {
composeAndCallEmail();
});


$("#test").click(function() {
alert($('#gdocDump').prop('tagName'));
});



function composeAndCallEmail() {
var varElems=$(".feedback");
var feedback=[];
$(varElems).each(function(index, element) {
feedback.push(getElemContents(element))
});
}

function getElemContents(elem){
var elementType = elem.prop('tagName');
//this is where the problem occurs
if(elementType=='INPUT')return elem.val();
//... will add more here later
}

最佳答案

each(index, element) 中,参数是索引和原生 DOM 元素

$(varElems).each(function(index, element) { 
feedback.push(getElemContents(element)) // plain DOM element, not jQuery
});

这意味着您必须再次包装它或使用 native elem.tagName 属性

function getElemContents(elem){
var elementType = $(elem).prop('tagName');
if ( elementType.toLowerCase() === 'input' )
return $(elem).val();
}

关于javascript - 从类找到的元素中获取元素类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22901006/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com