小编Jos*_*ber的帖子

如何在不使用 hasClass() 的情况下检查表行是否具有类名?

我需要按名称检查表行 (TR) 是否具有类。到目前为止,我有以下几点:

var myClass = "myClass";

//only myClass if it doesn't exist already
if (!(rowGet.className == "myClass") || !(rowGet.className == "myClass anotherClass")) {
     if (rowGet) { // only add the class if TR exists
         rowGet.className = myClass;
     }
}
Run Code Online (Sandbox Code Playgroud)

rowGet 是来自表的 TR。当我尝试 hasClass(myClass) 时,我收到一条错误消息,指出 HTMLTableElement 没有方法 hasClass。是的,我引用了 jQuery。

javascript jquery

2
推荐指数
1
解决办法
4518
查看次数

无法解决错误"Uncaught SyntaxError:Unexpected token o"

我目前正在练习使用Javascript/Dojo.但是,我有一个我无法解决的错误:

未捕获的SyntaxError:意外的令牌o

我已经快速解决了我的问题:

var data = {
    "list": {
        "1": {
            "Relevance": "Low",
            "id": 1,
            "Name": "Inorganic"
        },
        "2": {
            "Relevance": "Low",
            "id": 2,
            "Name": "Mobile"
        }
    }
}

var jsonData = JSON.parse(data);
alert(jsonData.list[1].Name);
Run Code Online (Sandbox Code Playgroud)

它专门针对以下行:

var jsonData = JSON.parse(data);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么这是一个错误以及我将如何解决它.

javascript dojo json

2
推荐指数
1
解决办法
7918
查看次数

等待多个延迟对象完成

等待多个延迟对象完成时,为什么:

$.when(tasks).then(function() {
    document.write("Completed all requests." + "<br/>");
});
Run Code Online (Sandbox Code Playgroud)

立即执行

$.when.apply(null, tasks).then(function () {
    document.write("Completed all requests." + "<br/>");
});
Run Code Online (Sandbox Code Playgroud)

等到任务完成.

javascript jquery jquery-deferred

2
推荐指数
1
解决办法
2682
查看次数

codeigniter ajax,处理服务器响应数据

我有一个editcategory视图,显示有关类别的详细信息,以及显示在视图底部的类别说明表.

类别描述表有两个用于编辑和删除的锚标记.我正在使用ajax传递要编辑的描述的id.需要调用控制器中的函数,该函数调用categorydescription模型并根据传递的id拉取记录.控制器需要将catDescription数组反馈给ajax成功函数.

已经有一个隐藏的div包含用于编辑描述的表单,但值设置如下

 <label for="catlang_name">Name</label>
 <input type="text" name="catlang_name" id="catlang_name" class="text ui-widget-content ui-corner-all"  value="<?php echo set_value('catlang_name',$catDescription->catlang_name); ?>"/>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在Ajax中获取响应并分配

为了正常地将数据传递给视图,我可以在控制器内完成以下操作

$data['catDescription']=$this->CategoryModel->getCategoryDescriptionById($id)
$this->load->view('category/categoryEdit', $data,true);
Run Code Online (Sandbox Code Playgroud)

这是从模型返回的数据:

Array (
    [0] => Array (
        [catlang_id] => 1
        [catlang_cat_id] => 10
        [catlang_lang_id] => 2
        [catlang_name] => french
        [catlang_description] => test
    )
    [1] => Array (
        [catlang_id] => 2
        [catlang_cat_id] => 10 
        [catlang_lang_id] => 2
        [catlang_name] => english
        [catlang_description] => test
    )
)
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

干杯

ajax jquery codeigniter

1
推荐指数
1
解决办法
5506
查看次数

为什么我不能在函数内连续递增变量?

我试图为每次调用添加10次d.它每次都停留20,为什么?

function d() {
    var c = [10];
    c[0] += 10;
    alert(c[0]); // always 20
}
d(); d(); d(); // supposed to be 20, 30, 40...
Run Code Online (Sandbox Code Playgroud)

javascript

1
推荐指数
1
解决办法
1172
查看次数

jquery数据选择器

我正在尝试使用jquery数据选择器向元素添加/删除类.

$("#side_categories .testbox").click(function () {
    var category = $(this).data('category'); //get the category from the clicked button

    if ($('#side_categories .testbox').hasClass('activated')) {
        //otherInput is the hidden text input
        $('#listings .deals:data("category"="+category+")').removeClass('activated');
    } else {
        $('#listings .deals:data("category"="+category+")').addClass('activated');
    }
});
Run Code Online (Sandbox Code Playgroud)

在我的测试框中,我在每个触发器上设置了数据类别以将其传递过来.进入数据类别的类别通过php填写.

似乎无法让这个工作,已经看到错误像:

regular expression too complex
[Break On This Error] while (m = matcher.exec(expr)) { 
Run Code Online (Sandbox Code Playgroud)

或者当我使用james padolsey编写的旧函数时,我得到以下内容:

uncaught exception: Syntax error, unrecognized expression: data
Run Code Online (Sandbox Code Playgroud)

我只是希望能够根据复选框选择从LI中添加/删除类.

提前谢谢了!

jquery jquery-selectors

1
推荐指数
1
解决办法
2342
查看次数

将多个非常大的 csv 文件相互比较

我有 n 个 csv 文件,我需要相互比较并在之后修改它们。问题是每个 csv 文件大约有 800.000 行。

要读取 csv 文件,我使用fgetcsv并且效果很好。获得一些内存矛,但最终它足够快。但是,如果我尝试将数组相互比较,则需要很长时间。

另一个问题是我必须使用 foreach 来通过 fgetcsv 获取 csv 数据,因为有 n 个文件。我最终得到了一个超大数组,无法与 array_diff 进行比较。所以我需要将它与嵌套的 foreach 循环进行比较,这需要很长时间。

一个代码片段,以便更好地理解:

foreach( $files as $value ) {
    $data[] = $csv->read( $value['path'] );
}
Run Code Online (Sandbox Code Playgroud)

我的 csv 类使用 fgetcsv 将输出添加到数组中:

fgetcsv( $this->_fh, $this->_lengthToRead, $this->_delimiter, $this->_enclosure )
Run Code Online (Sandbox Code Playgroud)

所有 csv 文件的每个数据都存储在 $data 数组中。这可能是只使用一个数组的第一个大错误,但我不知道如何在不使用 foreach 的情况下保持文件的灵活性。我尝试使用灵活的变量名,但我也坚持使用:)

现在我有这个大数组。通常,如果我尝试将这些值相互比较并找出文件 1 中的数据是否存在于文件 2 中等等,我会使用 array_diff 或 array_intersect。但在这种情况下,我只有这个大数组。正如我所说,运行 foreach 需要很长时间。

同样在只有 3 个文件之后,我有一个包含 3 * 800.000 个条目的数组。我猜最近 10 个文件后我的记忆会爆炸。

那么有没有更好的方法来使用 PHP 来比较 …

php csv fgetcsv

1
推荐指数
1
解决办法
1656
查看次数

修改css泡泡

CSS:

.container {
    margin-left: 15px;
    width: 10px;
    background: #FFFFFF;
    border: 1px solid #CAD5E0;
    padding: 4px;
    position: relative;
    min-height: 10px;
    font-size:8px;
}
.container:before {
    content: '';
    display: block;
    position: absolute;
    top: 1px;
    left: 100%;
    width: 0;
    height: 0;
    border-color: transparent transparent transparent #CAD5E0;
    border-style: solid;
    border-width: 6px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<a class="container">1</a>?
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释如何修改这个css,以便将指针(三角形)放在盒子的左侧.

我有这个小提琴:http://jsfiddle.net/DTZwA/

html css dom

1
推荐指数
1
解决办法
78
查看次数

angularjs绑定在mouseenter指令不起作用

我无法得到directiv i angular to bind on mouseenter,我试过一个简单的例子,这里有什么问题?

<html lang="en" >
<head>
    <title>My AngularJS test</title>
    <script src="angular.js"></script>
</head>
<body >
    <div ng-app="testApp" ng-controller="testCtr">
        <div testDir>test here</div>

        <!-- just testing to see if the app is working -->
        {{test}}


        <script type="text/javascript">
            var app = angular.module("testApp", []);

            app.directive("testDir", function(){

                return {

                    link: function(scope, element, attrs){

                        element.bind("mouseenter", function(){
                            console.log("enter")
                        })
                    }

                }


            })

            app.controller("testCtr", function($scope) {
                $scope.test = 500;
            })
        </script>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这可能是一个愚蠢的错误,但我看不到它.

html javascript angularjs

1
推荐指数
1
解决办法
3854
查看次数

如何使用data-ng-repeat从A到Z获取索引值?

我一直在索引值之前使用这样:

{{ $index }}
Run Code Online (Sandbox Code Playgroud)

我真正需要的是获取一个数字而不是获得一个从A到Z的大写字符的数字.应该没有问题,因为我最多只有10个重复的东西.

谁能告诉我怎么做到这一点?

javascript angularjs

1
推荐指数
1
解决办法
1063
查看次数