jquery多次循环为什么获取的this都是第一次

jquery多次循环为什么获取的this都是第一次,第1张

$(function () {

$("button")bind("click", function () {

var bthis = $(this);

$("st")each(function(index){

if($(this)text()=="未处理"){//这个this是针对st的

alert("不能 *** 作");

return false;

}

else{//下面的这个this是针对buutton的

$post("__URL__/ajax",{dataa:bthisattr("name")},function (data) {

alert(data);

refresh(); //调用刷新的方法

});

}

});

})

});

题主是想遍历表格的行对吧,jquery对象没有获取表格行的方法,可以这样获取:oTablefind("tr") 这个就是所有行的jquery对象,可以用jquery的each方法遍历;

oTablefind("tr")each(function () {

    var $this = $(this);

    if($thisattr("id") == para)

        $thisshow();

    else

        $thishide();

});

循环取?要形成什么格式的数据?请说清楚。

我随便写一点你看看:

$(function() {

var objList=[]; // 比如存在在这个对象数组里

$('table#myTable input[name=name]')each($(i, n) { // 注意这里用name=name而不是id=name,因为ID必须是唯一的

var obj = {};

obj['name']=$(n)val();

objList[i] = obj;

});

$('table#myTable input[name=sex]')each($(i, n) {

objList[i] = obj;

obj['sex']=$(n)val();

});

$('table#myTable input[name=address]')each($(i, n) {

objList[i] = obj;

obj['addresssss']=$(n)val();

});

});

你说的类似使用LINQ,但是我不推荐,如果你仅仅是查找,最好用原生的。

function getObject(id,list) {

    for (var i = 0, len = listlength; i < len; i++) {

        if (list[i]id == id) {

            consolelog(i)

            return list[i]

        }

    }

}

var id = 2;

var list = [{ id: 1 }, { id: 2 }, {}];

var obj = getObject(id, list)

consolelog(obj);

首先选择需要循环显示的元素,然后用jquery的遍历函数(如each()和map())将其显示出来即可:

$(selector)each(function(index,element));   // 为每个匹配元素规定运行的函数

$(selector)map(function(index,domElement)); // 对当前集合中的每个元素调用的函数对象

实例演示:点击按钮获取第二个div下所有p标签的值

创建Html元素

<div class="box">

<span>点击按钮获取第二个div下所有p标签的值:</span><br>

<div class="content">

  <p>aaaa</p>

  <p>bbbb</p>

  <p>cccc</p>

</div>  

<div class="content">

  <p>1111</p>

  <p>2222</p>

  <p>3333</p>

</div>  

<div class="content">

  <p>555</p>

  <p>666</p>

  <p>77777</p>

</div>

<input type="button" value="获取第二个div下所有p标签的值">

</div>

设置css样式

divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}

divbox>span{color:#999;font-style:italic;}

divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}

编写jquery代码

$(function(){ 

$("input:button")click(function() {

text = $("divcontent")eq(1)find("p")map(function(index,elem) {

return $(elem)text();

})get()join(',');

alert("第二个div下p标签依次为:"+text);

});

});

观察效果

以上就是关于jquery多次循环为什么获取的this都是第一次全部的内容,包括:jquery多次循环为什么获取的this都是第一次、JQUERY怎么for循环、jquery怎么循环取表格中每个文本框的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9489942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存