小编Mik*_*Sav的帖子

为什么parentNode未定义?

我正在尝试编写一个带有ID的函数,然后遍历DOM以查看该项是否是标记的子项.这不应该太难,但是我parentNode回来了undefined吗?我错过了什么?

这是我的代码的简化版本...提前感谢.

<!DOCTYPE html>
<html lang="en">
<body>

<div id="top">
    <div id="top2"></div>

    <div id="top3"></div>

    <div id="top4"></div>

    <div id="top5">
        <div id="top5_1"></div>
    </div>
    <div id="top6">
            <div id="top6_1">
                <a href="" id="findMe">here I am...</a>
            </div>
    </div>
</div>

<script>

function findParent(startID, finish){

// change this from id to tag 
start = document.getElementById(startID).tagName;

    while (start.parentNode) {
        start = start.parentNode;

        if (start.tagName === finish){
            console.log("true " + startID + " is a child of " + finish);

        }else{
            console.log("false " + startID + " …
Run Code Online (Sandbox Code Playgroud)

javascript dom

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

ui-bootstrap datepicker不使用最小和最大日期

我使用的是Datepicket,它是AngularJS ui-bootstrap模块的一部分.我正在按照给出的教程/示例(参见http://angular-ui.github.io/bootstrap/#/datepicker),但是当试图阻止用户选择早于今天或超过3个月的日期时,不会似乎工作正常,因为这些仍然是可点击的.

这是我视图中的日期选择器...我已经将ng-model,min-date和max-date值写入接口,以确保它们不为null)

<datepicker ng-model="dt" min-date="minDate" max-date="maxDate" show-weeks="false"></datepicker>
dt = {{ dt }}
minDate = {{ minDate }}
maxDate = {{ maxDate }}
Run Code Online (Sandbox Code Playgroud)

价值正在返回....

dt = "2014-04-30T15:31:46.746Z" 
minDate = "2014-05-27T15:31:46.746Z"
maxDate = "2014-08-27T15:31:46.751Z"
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码...大部分取自ui-bootstrap网站上提供的示例

$scope.today = function() {
  $scope.dt = new Date();
};
$scope.today();

$scope.toggleMin = function() {
  $scope.minDate = $scope.minDate ? null : new Date();
};
$scope.toggleMin();

$scope.maxDate  = new Date(new Date().setMonth(new Date().getMonth()+3));
Run Code Online (Sandbox Code Playgroud)

谁能看到我做错了什么?我看不出我犯了什么错字或错误?我在OS X 10.9.2上使用Chrome 34.0.1847.137,因此浏览器兼容性应该不是问题.

angularjs angular-ui-bootstrap

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

AngularJS视图不等待$ http.get

在我的控制器中,我有以下......

$scope.products = dataService.getJsonData();
console.log($scope.products);
Run Code Online (Sandbox Code Playgroud)

在我的dataservice中,我有以下内容

.service('dataService', function ($http) {

        this.getJsonData = function () {
            return $http.get('path/to/json/products.json').then(function (response) {

                // don't send back everything....
                var productData = response.data;
                console.log(productData);
                return productData;

            });

        };
Run Code Online (Sandbox Code Playgroud)

在我看来,我有以下......

<div ng-repeat="product in products">

    Name: {{ product.name }} <br>
    Price: {{ product.price }}
    <hr>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的渲染视图中,重复只显示3个项目(产品是15个对象的数组).在查看控制台时,视图或产品中的重复是由Object { then=function(), catch=function(), finally=function()}数据辅助设备中的日志输出所需的对象数组.我不明白为什么输出不等待返回的数据,我以为这是异步的?如何在不使用a的情况下使视图等待dataservice $timeout.有没有其他人有这个问题?提前致谢.

更新*

从一点谷歌搜索我很确定我需要添加一个解决方案到我的$ routeProvider,$routeProvider目前看起来像这样:

.when('/', {
      templateUrl: 'views/main.html',
      controller: 'MainCtrl',
      resolve:{
        // i need to put something here...
      }
  })
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

Chrome中的AngularJS CORS问题 - 请求的资源上没有"Access-Control-Allow-Origin"标头

我正在做一些练习以熟悉AngularJS,并http://127.0.0.1:9000/在执行必要的grunt任务后运行我的应用程序.现在我想写/自己如何允许授权/认证请求(基本上是登录表单).我有一个单独的项目,有一个REST API,这是运行http://127.0.0.1:3000/- 注意端口号的差异.练习是在我的本地机器上托管所以我希望使用CORS来满足我的要求,因为浏览器限制不是问题而且应用程序是我自己的娱乐.在我的angularJS应用程序中,我在我的代码中包含以下代码config以允许CORS请求:

// set up CORS...
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
Run Code Online (Sandbox Code Playgroud)

在我的Rest API/Node Project中,我包含了https://www.npmjs.org/package/cors提供的CORS中间件,我已经为所有请求启用了CORS,我已经包含了这样的库:

cors = require('cors')
Run Code Online (Sandbox Code Playgroud)

然后...

app.use(cors()); // this is in my app.configure
Run Code Online (Sandbox Code Playgroud)

当我使用Websore REST工具测试API时,我想要的数据会被撤消,但是当我尝试访问这个时,我的AngularJS应用程序Chrome JavaScript控制台会给我以下错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource
Run Code Online (Sandbox Code Playgroud)

为AngularJS设置CORS有什么我错过的吗?提前致谢.

javascript rest node.js angularjs

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

Angular Form :还没有使用此数组注册的表单控件

我有一个小问题,也许有人可以提供帮助,因为我已经为此工作了一个多小时......

在我的组件文件中,我使用一种方法创建了一个表单,然后我使用另一种方法进行 API 调用,返回一些数据并设置所创建数组的一个控件。下面是我的一些简单的代码,只是ngOnInit constructor 和相关方法

constructor(public dialogRef: MatDialogRef<EditAccountComponent>,
          @Inject(MAT_DIALOG_DATA) private data,
          private apiService: ApiService,
          private emailUniqueValidator: EmailUniqueValidator) {
            this.user = data;
}

ngOnInit(): void {
    this.editAccountForm = this.createEditUserForm();
    this.getRoles();
}

createEditUserForm(): FormGroup {
    return new FormGroup({
        name: new FormControl(this.user.name, [Validators.required, Validators.max(50)]),
        email: new FormControl(
        this.user.emailAddress,
        [Validators.required, Validators.pattern('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')],
        this.emailUniqueValidator.validate.bind(this)
        ),
        companies: new FormControl(this.user.tags.company),
        roles: new FormArray([])
    });
}

getRoles(): any {
        this.apiService.getUserRoles(this.data.id).subscribe(roles => {
        // roles = ['role 1', 'role 2', 'role 3'];
        this.editAccountForm.controls['roles'].setValue(roles);
    });
}
Run Code Online (Sandbox Code Playgroud)

在我的createEditUserForm …

angular angular-forms

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

警告:system()[function.system]:无法在第19行执行空白命令

我有一个托管有1and1的网站 - 谁没用!由于某种原因,他们提供的备份脚本不再有效,他们无法为我提供答案!所以我以为我会写自己的,这是我的代码:

$command = "mysqldump -u [usernameXXXX] -p [passwordXXX] [dbname] > [backupfile.sql]";
 system($commmand);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

警告:system()[function.system]:无法在第19行的/ homepages/46/XXXXXX/htdocs/admin/db_backup.php中执行空白命令

php mysql exec

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

如果元素/标签包含文本或同级标签,请使用CSS(或SCSS)应用填充

我想知道我有一个像这样的按钮:

<button><i class="font-icon-class"></i></button>
Run Code Online (Sandbox Code Playgroud)

是否可以.font-icon-class在按钮还包含文本或其他HTML标签的地方添加填充(或其他样式)?因此,如果我的按钮是这样的:

<button><i class="font-icon-class"></i> Button Text </button>
Run Code Online (Sandbox Code Playgroud)

要么

<button><i class="font-icon-class"></i> <img src="..."></button>
Run Code Online (Sandbox Code Playgroud)

我以为我可以padding-right使用CSS选择器来应用

.font-icon-class + * { 
   padding-right: 5px; 
}
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用,我知道我可以使用JavaScript,但我想知道CSS是否可以提供解决方案?

提前谢谢了。

css

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