<div class="m_data_list" id="a1">
<div class="m_data a_rcnm5" id="a_uk54q"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'uk54q', '', 'uk54q', true)">Kowalski</div>
<div class="m_data a_rcnm5" id="a_mcrgn"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'mcrgn', '', 'uk54q', true)">Melman</div>
<div class="m_data a_rcnm5" id="a_w26tp"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'w26tp', '', 'uk54q', true)">Marty</div>
<div class="clear"></div>
</div>
<div class="m_data_list" style="" id="a2">
<div class="m_data a_n0ql8" id="a_u4tes"
onclick="xlist(2, 15, 'vghwa', 'n0ql8', 'u4tes', '', 'u4tes', true)">FALSE</div>
<div class="m_data a_n0ql8" id="a_p8ixf"
onclick="xlist(2, 15, 'vghwa', 'n0ql8', 'p8ixf', '', 'u4tes', true)">TRUE</div>
<div class="clear"></div>
</div>
以下是a1
的代码片段,有许多类似的div,如a1
。
我实际上想要在a1,a2的上下文中比较所有 xlist 。
在每个a1,a2 ..的一个xlist中,两个元素相同,如下面的(参见uk54q
)
<div class="m_data a_rcnm5" id="a_uk54q"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'uk54q', '', 'uk54q', true)">Kowalski</div>
有很多选项,我想选择xlist中具有相同元素的选项。
我是JS的新手,研究了几个小时,到目前为止。
$.each($('div.m_data'), function(a, b) {
console.log($(this).attr('onclick'))
});
它将所有xlists
从a1提取到a15
$.each($('div.m_data'), function(a, b) {
console.log(b.innerHTML)
})
显示所有选项。即。 (Kowalski,Melman,Marty)
我试图从xlist中删除并且无法执行此操作,并尝试了许多未能解决的问题。
答案 0 :(得分:0)
如果你尚未破解这个,你可以将每个函数声明作为一个字符串,然后使用一些简单的正则表达式将参数作为一个数组。从那时起,它只是找到更有效的方法来找到它们中的重复项,如果性能是必须的,我建议改变像我提供的那样的bubblesort。
function containsDuplicates(arr){
var temp = [];
for(var i = 0; i < arr.length - 1; i++){
for(var j = i + 1; j < arr.length; j++){
if(arr[i] === arr[j]){
return true;
}
}
}
return false;
}
var results = {};
$('div.m_data_list').each(function(i){
var $this = $(this);
var $thisID = $this.attr('id');
results[$thisID] = [];
$(this).children('div.m_data').each(function(j){
var funcString = $(this).attr('onclick');
var ini = funcString.indexOf("(");
var arr = funcString.substr(
ini+1,
funcString.indexOf(")") - ini - 1)
.replace(/ /g,"").split(',');
if(containsDuplicates(arr)){
results[$thisID].push($(this).text());
}
});
});
console.log(results);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="m_data_list" id="a1">
<div class="m_data a_rcnm5" id="a_uk54q"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'uk54q', '', 'uk54q', true)">Kowalski</div>
<div class="m_data a_rcnm5" id="a_mcrgn"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'mcrgn', '', 'uk54q', true)">Melman</div>
<div class="m_data a_rcnm5" id="a_w26tp"
onclick="xlist(1, 20, 'rnamx', 'rcnm5', 'w26tp', '', 'uk54q', true)">Marty</div>
<div class="clear"></div>
</div>
<div class="m_data_list" style="" id="a2">
<div class="m_data a_n0ql8" id="a_u4tes"
onclick="xlist(2, 15, 'vghwa', 'n0ql8', 'u4tes', '', 'u4tes', true)">FALSE</div>
<div class="m_data a_n0ql8" id="a_p8ixf"
onclick="xlist(2, 15, 'vghwa', 'n0ql8', 'p8ixf', '', 'u4tes', true)">TRUE</div>
<div class="clear"></div>
</div>
&#13;