我正在尝试编写一个带有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) 我使用的是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,因此浏览器兼容性应该不是问题.
在我的控制器中,我有以下......
$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) 我正在做一些练习以熟悉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有什么我错过的吗?提前致谢.
我有一个小问题,也许有人可以提供帮助,因为我已经为此工作了一个多小时......
在我的组件文件中,我使用一种方法创建了一个表单,然后我使用另一种方法进行 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 …
我有一个托管有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中执行空白命令
我想知道我有一个像这样的按钮:
<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是否可以提供解决方案?
提前谢谢了。