小编Vla*_*ula的帖子

字符串比较返回false.使用jQuery mobile的奇怪的javascript行为

我开始用jQuery mobile创建一个todo列表,以便更好地学习它.我正在听这样菜单按钮发出的事件:

        me.selectedTarget = me.menuNode.find(".ui-btn").first();

        me.menuNode.on("click", ".ui-btn", function (e) {
            var target =  $(e.currentTarget)
                ,targetText = target.text();
            console.debug("Click on'", targetText,"'" );
            if(target === me.selectedTarget) return;

            if(targetText == "View To Do "){
                core.pub("view:todo");
            } else if(targetText == "View Done ") {
                core.pub("view:done");
            } else {
                me.selectedTarget.click();
            }
            me.selectedTarget = target;
        });
Run Code Online (Sandbox Code Playgroud)

由于某种原因,变量targetText在末尾有一个额外的""空格.我有3个按钮,但第三个按钮有点特别 - 无论如何都不相关 - .

此代码侦听的按钮.

我的问题是我总是得到最后一个条款.targetText永远不会等于"View To Do"或"View Done".

为什么不"查看完成"=="查看完成"?〜X(

firebug调试结果

html标记

javascript jquery-mobile

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

选择具有特定数据的所有html标签的最有效方法是什么?[适当]无论价值如何?

我正在尝试为我的require js模块添加某种动态配置.我声明了一些像这样的html标签:

    <header data-module='js/views/header'>

    </header>

    <section data-module='js/views/homepage' data-hash='/'>

    </section>

    <section data-module='js/views/statistics' data-hash='/statistics'>

    </section>

    <footer data-module='js/views/footer'>

    </footer>
Run Code Online (Sandbox Code Playgroud)

我使用的jQuery查询是为了获得将数据模块设置为与null不同的所有元素:

            var $viewModules = $('[data-module]');
Run Code Online (Sandbox Code Playgroud)

选择这些元素有更有效的方法吗?我从未在jQuery中使用过数据选择器.谢谢.

javascript jquery html5

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

如何在使用Jest进行测试而不使用webpack捆绑所有内容时,如何忽略" - !svg-react-loader!./ path/to/my.svg"

我们在我们的应用程序中使用svg-react-loader来处理一些SVG文件.我们正试图设置开玩笑以及一个babel-jest和以下.babelrc:

{
  "presets": [
    "es2015", 
    "react"
  ],
  "plugins": [
    "transform-decorators-legacy", 
    "transform-class-properties",
    "transform-object-rest-spread"
  ]
}
Run Code Online (Sandbox Code Playgroud)

以下测试失败:

/* global it, document */
import React from 'react'
import ReactDOM from 'react-dom'
import Comp from './Icon'

it('renders without crashing', () => {
  const div = document.createElement('div')
  ReactDOM.render(<Comp><div /></Comp>, div)
})
Run Code Online (Sandbox Code Playgroud)

有错误: Cannot find module '-!svg-react-loader!../../assets/grid.svg' from 'Icon.js'

我怎么能忽略从开头的' - !svg-react-loader!../../ assets/grid.svg'中的导入网格开始的导入

jestjs babel-jest

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

如何在Android下的SQLite中正确插入日期时间值?

我正在开发一个虚拟的 android 项目来解决问题。以下代码行破坏了我的 android 应用程序,没有任何错误。我使用 Idea 作为 IDE。

database.execSQL("Insert Into todos(uid, name, created_on, changed_on) values('6a7047ed-c2f9-407f-a774-1c02b0fe9caf', 'todo', DATETIME('NOW'), DATETIME('NOW'))");
Run Code Online (Sandbox Code Playgroud)

我确定数据库具有给定的列,如果我只是使用:

database.execSQL("Insert Into todos(uid, name) values('6a7047ed-c2f9-407f-a774-1c02b0fe9caf', 'todo')");
Run Code Online (Sandbox Code Playgroud)

应用程序按其应有的方式工作。

我试图插入这样的日期(基于与此事相关的回答问题):

 '2012-05-25 16:52:00'
Run Code Online (Sandbox Code Playgroud)

或者

 date('now')
Run Code Online (Sandbox Code Playgroud)

我得到了同样的崩溃,没有错误或调试日志。

我在这里缺少什么?

更新

根据要求,用于创建数据库表的代码。

    public static final String TABLE_TODOS = "todos";
    public static final String COLUMN_ID = "id";
    public static final String COLUMN_UID = "uid";
    public static final String COLUMN_NAME = "name";
    public static final String COLUMN_CHECKED = "checked";
    public static final String COLUMN_TO_DELETE = "must_delete";
    public …
Run Code Online (Sandbox Code Playgroud)

sqlite android

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